访问查询不起作用?

时间:2009-09-14 12:39:17

标签: ms-access

我记得我之前使用过像这样的查询。但现在它给我一个编译错误。

我试图只获得第二个字段的前3个字符。

select field1, left(field2, 3) from table1;

我做错了什么?

5 个答案:

答案 0 :(得分:3)

请看这个链接:

http://www.techonthenet.com/access/questions/compile_error.php

它表示如果你的引用被破坏,你在使用Left()时会遇到编译错误。它还说明了如何修复它。

答案 1 :(得分:1)

如果您按下键盘上的Ctrl-G并在即时窗口中键入“?Left(”123Text“,3)”并按Enter键,Access中会发生什么?如果您得到相同的编译错误,那么您的数据库中缺少引用或编译错误。

要解决此问题,在VBE窗口中,转到DEBUG菜单并选择第一个选项COMPILE [项目名称]。您可能会收到编译错误的通知,它应该指导您解决需要修复的问题。

答案 2 :(得分:0)

尝试将字段名称放在方括号中

select field1, Left([field2], 3) from table1;

答案 3 :(得分:0)

只要您的表名和列名正确,我就没有看到您的SQL有任何问题。根据您的SQL编辑器或代码,您可能需要从语句中删除分号。

答案 4 :(得分:0)

您的SQL语句没有任何问题。字段名称周围的括号,语句末尾的分号,field2中少于3个字符---这些都不是问题。

您的数据库或计算机和/或其Access安装有问题。通常我会怀疑引用问题,因为您的错误是一个典型的症状。但是,在评论中,您表示引用正常。

创建一个新的空数据库并将table1导入其中。在新数据库中尝试查询。如果它在那里工作,你知道问题仅限于原始数据库。如果查询在新数据库中不起作用,请将数据库复制到另一台安装了Access的计算机并在那里进行尝试。如果它适用于另一台机器,但不适用于你的机器......我希望有一些方法可以在不重新安装Office的情况下修复原始机器。