出乎意料的是,我开始得到“无效使用Null”的信息。现在,我的数据库中发生了许多不相关的查询。(MS Access 2010)
其中一个查询的SQL代码是:
INSERT INTO [Vendor List] ( [Vendor Number], [Vendor Name] )
SELECT [2_Onbase_NewVendors].[Vendor Number], [2_Onbase_NewVendors].[Vendor Name]
FROM 2_Onbase_NewVendors LEFT JOIN [Vendor List] ON [2_Onbase_NewVendors].[Vendor Number] = [Vendor List].[Vendor Number]
WHERE ((([2_Onbase_NewVendors].[Vendor Name]) Is Null));
该查询只是在寻找缺失的“供应商”并将其添加进来。在过去的几年中,它一直运行良好。我查看了这两个表,由于所有内容实际上都匹配,因此目前没有返回空值。
我检查了参考文献,它们似乎都是正确的。没有“丢失”的引用。这在运行时版本和完整版本中都在发生。我正在Windows 10上运行完整的Access版本,而运行时版本上的版本正在运行Windows7。我们最近应用了Microsoft Office更新,但在相关的内容中找不到任何东西。我已经花了几个小时在网上冲浪,但找不到任何相关的内容。网上的大多数事物似乎都是人们创建查询时产生的。我已经在前端和后端数据库上运行了压缩和修复。
有什么建议?
我倾向于说“谢谢微软”-但是查询确实有点棘手:
查询是从表2_Onbase_NewVendors中选择数据并将其插入表[Vendor List]中-但仅在2_Onbase_NewVendors。[Vendor Name]为null的地方吗?
这不应该是[供应商列表]。[供应商编号]为空的地方吗?(或供应商名称):
INSERT INTO [Vendor List] ([Vendor Number], [Vendor Name])
SELECT nv.[Vendor Number], nv.[Vendor Name]
FROM 2_Onbase_NewVendors nv LEFT JOIN [Vendor List] vl ON nv.[Vendor Number] = vl.[Vendor Number]
WHERE vl.[Vendor Number] IS NULL
建议您总是使用别名表(就像我在这里所做的那样),因为它对于您自己和其他必须阅读您的代码的人来说总是可以提高清晰度。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句