我正在尝试使用 VBA 从 Excel 工作表更新 SQL 中的一些记录。我在 Excel 工作表中有很多记录,所以这就是为什么我想自动化这一点。以下是我要更新“rmn_dr”的字段示例。 “t_id”在两个表中都是唯一的。我想使用“Excel Sheet”中的值更新 SQL“Job”表中的“rmn_dr”
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 代码吗?谢谢
如果每个字段都是文本,请尝试以下操作。
假设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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)