使用OleDb进入Access数据库

时间:2016-08-12 20:45:27

标签: sql ms-access

我收到错误:

查询表达式中的语法错误(缺少运算符)。

以下是反对的SQL:

enter image description here

我猜Access认为它需要更多的括号。我试过在不同的地方添加它们,到目前为止没有运气。

2 个答案:

答案 0 :(得分:0)

删除(在

之后)
      .....FROM ";
    sSQL += "[ComponentText] ..... 

而不是

    sSQL += "([ComponentText] ...

答案 1 :(得分:0)

好吧,我不确定到底出了什么问题,但我确实修改了SQL并让它运行起来。修订涉及使用SELECT FROM(SELECT)AS Q ... WHERE Component.Text IN(SELECT)。

这是有效的sSQL:

SELECT Q. [ComponentCounter] FROM(SELECT [ComponentText]。[ComponentCounter],[ComponentText]。[TextId],[ComponentText]。[Text] FROM [ComponentText] WHERE [ComponentText]。[TextId] = @bomgroupid AND [ComponentText]。[Text] = @bomdevice)AS Q INNER JOIN [连接]为P ON Q. [ComponentCounter] = P. [CompCounter] WHERE Q. [ComponentCounter] IN(SELECT [ComponentText]。[ComponentCounter] FROM [ComponentText] WHERE [ComponentText]。[TextId] = 160040 AND [ComponentText]。[Text] = @type);

我不习惯使用别名,但它确实帮助我自己和MS Access简化了这个SQL语句。我必须记住这一点。谢谢大家的帮助。