我已将多个Azure表链接到Access 2010前端。我可以使用docmd.RunSQL string 方法运行SELECT和UPDATE查询,这就是编写此数据库中所有代码的方法。 INSERT查询失败,因为没有插入但没有给出错误。我在网上发现这一点很少,但有一个网站确实提到我需要列出所有字段(不只是那些有价值的字段),但没有区别。
tableName = "userLog"
fields = "userId,machine,timeIn"
values = "'testUser','testMachine',#10/25/2016#"
SQL = "INSERT INTO " & tableName & " (" & fields & ") VALUES (" & values & ")"
DoCmd.RunSQL SQL
EDIT ----
我尝试将SQL字符串直接输入SSMS查询窗口,并返回与日期字段相关的错误。所以我改变了它 第10 /二千○十六分之二十六# 至 ' 2016年10月26日' 并且该错误被替换为新的错误说明: "无法将值NULL插入列' ID',table' LaborModel.dbo.userLog&#39 ;;列不允许空值。 INSERT失败。" SQL不会自动将唯一值添加到ID字段吗?显然,这是SQL(我不熟悉)和Access操作之间的区别。
答案 0 :(得分:-1)
如果表中没有数据,可以从SSMS执行此操作:更改表userLog Drop列ID GO ALTER TABLE userLog ADD [ID] INT Identity(1,1) -
然后将其设为PK:ALTER TABLE [dbo]。[userLog] ADD CONSTRAINT [PK_userLog] PRIMARY KEY CLUSTERED([ID])ON [PRIMARY]