我已将多个 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
编辑----
我尝试将 SQL 字符串直接输入 SSMS 查询窗口,但它返回与日期字段相关的错误。所以我把它从 #2016/10/26# 到 '2016年10月26日' 该错误已被替换为新错误,内容如下: “无法将 NULL 值插入表“LaborModel.dbo.userLog”的“ID”列;列不允许为空值。INSERT 失败。” SQL不会自动将唯一值添加到ID字段吗?显然这是SQL(我不熟悉)和Access操作之间的区别。
最佳答案
如果表中还没有数据,您可以从 SSMS 执行此操作:Alter Table userLog Drop Column 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]
关于sql-server - 使用 Access 和 Azure 链接表插入 SQL 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40240481/