Обновление SQL из листа Excel с использованием VBA - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь обновить некоторые записи в SQL из таблицы Excel, используя VBA.У меня есть много записей в таблице Excel, поэтому я хочу автоматизировать это.Ниже приведен пример поля, которое я хочу обновить "rmn_dr".«t_id» уникален в обеих таблицах.Я хочу обновить "rmn_dr" в таблице SQL "Job" значениями из "Excel Sheet"

Excel Sheet
t_id          rmn_dr
310449           16
310450           120
310451           256
310452           165.2


JOB (SQL Table)
t_id          rmn_dr
310449           2
310450           5
310451           7
310452          0

Может кто-нибудь помочь мне с кодом VBA, пожалуйста?Спасибо

1 Ответ

0 голосов
/ 29 сентября 2018

Если каждое поле является текстовым, попробуйте следующее.

Предполагается, что данные на листе Excel перечислены в ячейке a1, включая поля.

Sub setDAtaToServer()
    Dim con As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim rst As New ADODB.Recordset
    Dim i As Long
    Dim vDB As Variant
    Dim Ws As Worksheet

    con.ConnectionString = "Provider=SQLOLEDB.1;" _
             & "Server=(local);" _
             & "Database=JOB;" _
             & "Integrated Security=SSPI;" _
             & "DataTypeCompatibility=80;"

    con.Open


    Set cmd.ActiveConnection = con
    Set Ws = ActiveSheet

    vDB = Ws.Range("a1").CurrentRegion

    For i = 2 To UBound(vDB, 1)
        cmd.CommandText = "UPDATE JOB SET rmn_dr='" & vDB(i, 2) & "' WHERE t_id='" & vDB(i, 1) & "' "
        cmd.Execute
    Next i

    con.Close
    Set con = Nothing

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...