Excel VBA更新SQL表
我有一个小的Excel程序,用于上传数据到SQL服务器。
这一直运行良好。
我现在的问题是我想提供给用户一个函数来更新SQL中的现有logging。
由于此表上的每一行都有一个唯一的id columne。 有一个列调用UID是主键。
这是目前上传新数据的代码的一部分:
Set Cn = New ADODB.Connection Cn.Open "Driver={SQL Server};Server=" & ServerName & ";Database=" & _ DatabaseName & ";Uid=" & UserID & ";Pwd=" & Password & ";" rs.Open TableName, Cn, adOpenKeyset, adLockOptimistic For RowCounter = StartRow To EndRow rs.AddNew For ColCounter = 1 To NoOfFields rs(ColCounter - 1) = shtSheetToWork.Cells(RowCounter, ColCounter) Next ColCounter Next RowCounter rs.UpdateBatch ' Tidy up rs.Close Set rs = Nothing Cn.Close Set Cn = Nothing
是否有反正我可以修改此代码来更新特定的UID,而不是导入新的logging?
再次感谢你的帮助
而不是AddNew
打开一个新的logging,使用Find
find一个现有的。 喜欢:
rs.Find "id = 100" rs(1) = "ColumnOneValue"
要么:
rs.Find "LastName = 'Bush'" rs("LastName") = "Blush"
可以Find
多行,并使用EOF
和MoveNext
在它们之间循环。