INSERT SQL使用Access与Azure链接表失败

时间:2016-10-25 12:51:47

标签: sql-server azure ms-access

我已将多个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操作之间的区别。

1 个答案:

答案 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]