已在问题底部更新
我在Access 2010中有一个数据库。表是行内的SharePoint列表。 用户将数据添加到用户表单并提交。数据存储在其桌面上的本地表上-ID(自动编号)列会自动赋予负值,当用户具有网络连接并与SharePoint同步时会更新该值。
我正在尝试使用此数据,这要求在与SharePoint同步之前使用此唯一ID选择数据。相同的查询有时可能会起作用,而其他的则不会。
最终我的问题是: 为什么在将记录同步到SharePoint并且ID为正数后,SQL查询仍然起作用,而在同步到SharePoint之前,ID为负数时,为什么SQL查询不起作用?
正在使用VBA动态创建SQL查询。查询示例:
insert into [Outcome Testing] ( [Key Findings].Value ) Values (15) Where [Outcome Testing].[Reference] = 'Reference1' and [Outcome Testing].[File Reference] = 'FileRef1' and ID = '-6'
如果我按以下方式运行它,则效果很好
insert into [Outcome Testing] ( [Key Findings].Value ) Values (15) Where [Outcome Testing].[Reference] = 'Reference1' and [Outcome Testing].[File Reference] = 'FileRef1'
我一直在处理这个问题-在将数据从表单提交到表之后,我也无法对ID进行选择查询。表单可以(使用通过向导设置的按钮)在记录之间来回移动,我可以在表中看到记录。我可以看到(例如)该ID的值为-8。
但是,类似以下查询的查询什么也不会返回。
Select * from [Outcome Table] where ID = -8
如果我给同一条记录一个File1的FileReference,则可以在下面运行查询,它确实返回我要查找的记录,并且显示的ID为-8
Select * from [Outcome Table] where [File Reference] = 'File1'
如果我保存并关闭数据库,然后重新打开它并在ID号(-8)上运行查询,则它将返回记录。我为我的一生无法弄清为什么会这样。 欢迎任何建议和技巧。
注意-插入查询将插入到多值字段中。可以通过ID值进行选择时,插入不是问题。