一、学友问题描述:
Access编程1群:佛祖请我去吃肉(897966017) 2023-12-06 16:46:43
请问老师,Access这个查询SQL语句哪里错了啊?
Select 日期,产品条码,0A均值,0A精度,30A均值,30A精度,100A均值,100A精度,-30A均值,-30A精度,-100A均值,-100A精度,已录MES,测试结果
FROM TestData Where 测试结果='OK'
查询语句提示:语法错误(操作符丢失)在查询表达式'0A均值'中。是什么问题引起的?如下图:
点确定后,不能得到正确的查询结果,得到的是所有数据,如下图:
二、解决方法:
帮他把查询SQL语句复制到SqlServer视图里面运行一下,没有报错,可以得到正确的查询结果,这样就奇怪了,如下图:
回头给他用Access新建了一个查询,输入查询SQL语句,一运行,确实提示错误:操作符丢失。给他再仔细检查了一下SQL语句,发现问题了,应该是这些字段名有的是数字开头,有的的是特殊符号-开头,对这种不是纯中文名称的字段名、或者不是纯英文名称命名的字段名,给他加上中括号[],这样问题就解决了,原因是这些数字以及特殊符号-的字段名,在查询SQL语句或者VBA代码里面直接用,会被识别为不完整不正确的字段名,修改后的SQL语句如下:
Select 日期, 产品条码, [0A均值], [0A精度], [30A均值], [30A精度], [100A均值], [100A精度], [-30A均值], [-30A精度], [-100A均值], [-100A精度], 已录MES, 测试结果
FROM TestData
Where 测试结果='OK';
附上查询示例:
点击下载此附件
补充说明:
正常的字段名称都是用英文字母命名的,不建议用数字或者特殊符号进行命名,特别是特殊符号-
对象名称如果喜欢加特殊符号,只建议用一个特殊符号就是下划线_