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,使用Findfind一个现有的。 喜欢:

 rs.Find "id = 100" rs(1) = "ColumnOneValue" 

要么:

 rs.Find "LastName = 'Bush'" rs("LastName") = "Blush" 

可以Find多行,并使用EOFMoveNext在它们之间循环。