我知道这将是一个普遍的问题,但是我没有找到任何解决方案。
我将访问数据库迁移到了SQL Server Express中。SELECT和UPDATE效果很好,实际上与Access引擎相比,效果更好。但是我无法运行标准插入...
这不起作用:
Set rc = CurrentDb.openRecordset("SELECT * FROM DBLog WHERE false")
rc.AddNew
rc.update '-->ERROR
rc.close
这也不起作用:
DoCmd.RunSQL("INSERT INTO [test2].dbo.DBLog (type) VALUES (6)")
确实可行:通过传递来发送上述SQL。因此,这不是SQL Server问题。
我已经在数据库中设置了IDENTITY和PRIMARY。Access也知道主要知识。在设计视图中,虽然没有“自动编号”,但这可能是问题所在。但是如何解决呢?
通常,在迁移到后端的SQL Server之后,通常需要
Set rst = CurrentDb.OpenRecordset("Contacts")
需要成为
Set rst = CurrentDb.OpenRecordset("Contacts", dbOpenDynaset, dbSeeChanges)
因此,在您的情况下:
Set rc = CurrentDb.openRecordset("SELECT * FROM DBLog WHERE false" dbOpenDynaset, dbSeeChanges)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句