Addnew不会在类似的行中添加行

时间:2009-09-14 13:02:51

标签: vba ado.net

我有一个问题,即添加(覆盖现有的123键)不起作用,如果发生冲突,如何强制更新行?

db.OpenRecordset("table1", dbOpenTable)
 .AddNew ' create a new record
 .Fields("key") = "123"
.Update ' stores the new record
当DB没有密钥123

时,

代码有效

2 个答案:

答案 0 :(得分:0)

如果您正在使用DataTable,则需要使用LoadDataRow方法,该方法可以添加新行或更新现有行。我不知道Recordset中是否存在此方法。

答案 1 :(得分:0)

你有这个标记的VBA和ado.net。但ADO.Net不适用于VBA。你能澄清一下吗?

假设你在VBA:

Public Sub Example()
Dim db As DAO.Database
Set db = Access.CurrentDb
With db.OpenRecordset("table1", dbOpenDynaset)
    .FindFirst "Key=123"
    If .NoMatch Then
        .AddNew ' create a new record
        .Fields("key") = "123"
        .Update ' stores the new record
    Else
        .Edit
        .Fields("myfield") = "foo"
        .Update
    End If
    .Close
End With
db.Close

End Sub