Sql server 使用VBA将新记录添加到Access中的ODBC链接表
我正在尝试向VBA Access中的ODBC链接表添加新记录。当表是本地的,存储在Access数据库中时,没有问题。但是,当我将表上传到Azure SQL server并将其链接到Access数据库时,代码不再工作。代码位于按钮的“onclick”事件上 该代码用于添加用户何时登录到Access应用程序的快速记录。我已经为数据库的表单和报表链接了其他服务器表,没有问题。但以前从未在VBA中添加过记录。需要在VBA中执行此操作的原因是需要对用户隐藏Sql server 使用VBA将新记录添加到Access中的ODBC链接表,sql-server,vba,ms-access,Sql Server,Vba,Ms Access,我正在尝试向VBA Access中的ODBC链接表添加新记录。当表是本地的,存储在Access数据库中时,没有问题。但是,当我将表上传到Azure SQL server并将其链接到Access数据库时,代码不再工作。代码位于按钮的“onclick”事件上 该代码用于添加用户何时登录到Access应用程序的快速记录。我已经为数据库的表单和报表链接了其他服务器表,没有问题。但以前从未在VBA中添加过记录。需要在VBA中执行此操作的原因是需要对用户隐藏 Dim Rst As Recordset
Dim Rst As Recordset
Set Rst = CurrentDb.OpenRecordset("tblLoginLog", dbOpenDynaset)
With Rst
.AddNew
!User = ID
!LoginDate = Now()
.Update
End With
tblLoginLog是表的名称,
用户是员工编号的编号字段,
LoginDate是登录成功的日期字段
如果表本地存储在数据库中,代码可以工作,但是当表移动到服务器时,什么也不会发生。当我点击按钮时,实际上什么也没发生。没有错误消息,没有任何内容,并且当我打开表时,没有向表传递任何数据。这是否有助于您在call
Set Rst=CurrentDb.OpenRecordset(“tblLoginLog”,dbOpenDynaset,dbSeeChanges)中添加dbSeeChanges
选项。并检查是否为“tblLoginLog”表定义了主键。@我认为这是可行的-让我进一步测试,我会让您知道的。谢谢你advance@4dmonster在过去的几天里,我们一直在使用您建议的附加代码,现在它可以正常工作了。如果将来有人遇到此问题-Set Rst=CurrentDb.OpenRecordset(“tblLoginLog”,dbOpenDynaset)
适用于本地表,Set Rst=CurrentDb.OpenRecordset(“tblLoginLog”,dbOpenDynaset,dbSeeChanges)
适用于服务器表这是否有助于您在callSet Rst=CurrentDb.OpenRecordset(“tblLoginLog”,dbOpenDynaset,dbSeeChanges)”中添加dbSeeChanges
选项
。并检查是否为“tblLoginLog”表定义了主键。@我认为这是可行的-让我进一步测试,我会让您知道的。谢谢你advance@4dmonster在过去的几天里,我们一直在使用您建议的附加代码,现在它可以正常工作了。如果将来有人遇到此问题-Set Rst=CurrentDb.OpenRecordset(“tblLoginLog”,dbOpenDynaset)
适用于本地表,Set Rst=CurrentDb.OpenRecordset(“tblLoginLog,dbOpenDynaset,dbSeeChanges”)适用于服务器表