小编Cra*_*ara的帖子

如何使用ID检查记录,如果记录存在则更新,如果不添加新记录

我创建了一个excel userform来收集数据.我已将其连接到Access以转储数据.但是,每次用户按下提交按钮时,我都想更新Access.

基本上我需要Select语句来确定id存在,然后如果它不存在我需要使用INSERT来添加新行.我对任何SQL都很新,所以任何帮助都会很棒.

这是我现在的代码,我需要将它改编为ADO.

Sub Update()
Dim cnn As ADODB.Connection
Dim MyConn
Dim rst As ADODB.Recordset
Dim StrSql As String

Set cnn = New ADODB.Connection
MyConn = ThisWorkbook.Path & Application.PathSeparator & TARGET_DB

With cnn
    .Provider = "Microsoft.ACE.OLEDB.12.0"
    .Open MyConn

Set rst = New ADODB.Recordset
rst.CursorLocation = adUseServer
rst.Open Source:="Foam", ActiveConnection:=cnn, _
        CursorType:=adOpenDynamic, LockType:=adLockOptimistic, _
        Options:=adCmdTable





StrSql = "SELECT * FROM Foam WHERE FoamID = " & txtMyID
Set rst = CurrentDb.OpenRecordset(StrSql, dbOpenDynaset)

If (rst.RecordCount = 0) Then
     DoCmd.RunSQL "INSERT INTO …
Run Code Online (Sandbox Code Playgroud)

excel ms-access vba excel-vba access-vba

7
推荐指数
1
解决办法
8490
查看次数

标签 统计

access-vba ×1

excel ×1

excel-vba ×1

ms-access ×1

vba ×1