Я экспортирую данные в таблицу Excel в базу данных SQL Server, если существует UPDATE else INSERT.EXCEL VBA to SQL Index и Seek
Следующий код VBA хорошо работает для экспорта в базу данных ACCESS, , но не для таблицы SQL SERVER DATABASE TABLE.
Появляется сообщение об ошибке: Неверное использование свойства для .Index и .Seek.
Пожалуйста, помогите !!! Toh
Sub ExcelDataToSql()
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
Dim lastrow As Long, o As Long
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=SQLNCLI11;Server=***;Database=****;Trusted_Connection=yes;"
rs.CursorLocation = adUseServer
rs.Open "InventorySQL", cn, 1, 3, adCmdTableDirect
' Get Lastrow
Worksheets("InventoryEXCEL").Select
lastrow = Worksheets("InventoryEXCEL").Cells(rows.Count, 1).End(xlUp).Row
r = 2 ' the start row in the worksheet
For o = 2 To lastrow
'Check For Duplicate In Database SQL
With rs
.Index = "PrimaryKey"
.Seek Range("A" & r).Value
If .EOF Then
.AddNew
'If No Duplicate insert New Record
rs.Fields("oPartno") = Range("A" & r).Value
rs.Fields("oDesc") = Range("B" & r).Value
rs.Fields("oCost") = Range("C" & r).Value
.update
Else
' If Duplicate Found Update Existing Record
rs.Fields("oDesc") = Range("B" & r).Value
rs.Fields("oCost") = Range("C & r).Value
.Update
End If
End With
Next o
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
MsgBox "Posting Completed"
End Sub
. Индекс = "PrimaryKey" --- Sysntax Ошибка: неправильное использование собственности .Seek Range ("А" & г) .Value Sysntax Ошибка:
Почему r и mysal помечены тегом здесь? SQL Server может казаться более подходящим тегом, если я не понял его неправильно? – User632716
Спасибо за отзыв ... это мой первый пост в stackoverflow ... будет более осторожным в будущем ... Мое извинение. – Toh