我試圖找到類似帖子中的答案,但我找不到需要放置額外語法或刪除的地方。訪問vba錯誤3075語法
,如果我把它放在一個列表框記錄在屬性窗口,在其自己的作品查詢:
SELECT Overzicht_codes.code_compleet AS Code, Overzicht_codes.omschrijving1, Overzicht_codes.omschrijving2, Overzicht_codes.omschrijving3, Overzicht_codes.omschrijving4, Overzicht_codes.omschrijving5, Overzicht_codes.omschrijving6
FROM Overzicht_codes
WHERE (((Nz([opleidingniveau]=[Forms]![OverzichtOpleidingen].[cbOpleiding],[opleidingniveau]))<>False)
AND ((Nz([subniveau]=[Forms]![OverzichtOpleidingen].[cbopleidingniveau],[subniveau]<>False))<>False)
AND ((Nz([studiegroep]=[Forms]![OverzichtOpleidingen].[cbstudiegroep],[studiegroep]<>False))<>False)
AND ((Nz([studierichting]=[Forms]![OverzichtOpleidingen].[cbstudierichting],[studierichting]<>False))<>False))
ORDER BY Overzicht_codes.code_compleet;
現在我想在VBA相同的代碼作爲一種「復位」。對於VBA它需要一些改變:
SQL = "SELECT Overzicht_codes.code_compleet AS Code, Overzicht_codes.omschrijving1, Overzicht_codes.omschrijving2, Overzicht_codes.omschrijving3, Overzicht_codes.omschrijving4, Overzicht_codes.omschrijving5, Overzicht_codes.omschrijving6 " _
& "FROM Overzicht_codes " _
& "WHERE (((Nz([opleidingniveau]= " & Me.cbOpleiding & ",Overzicht_codes.[opleidingniveau]))<>False) " _
& "AND ((Nz([subniveau]= " & Me.cbOpleidingNiveau & ",Overzicht_codes.[subniveau]<>False))<>False) " _
& "AND ((Nz([studiegroep]= " & Me.cbStudiegroep & ",Overzicht_codes.[studiegroep]<>False))<>False) " _
& "AND ((Nz([studierichting]= " & Me.cbStudierichting & ",Overzicht_codes.[studierichting]<>False))<>False)) " _
& "ORDER BY Overzicht_codes.[code_compleet]"
我讀過一些有關加上額外的'
的代碼串部分。但經過多次嘗試後仍然出現錯誤。
對於一個額外的見解錯誤消息是以下:
誰能幫我給Insight在我做錯了什麼還是什麼我忘了嗎?
'Nz'不是SQL語法,所以需要在字符串之外設置。 – finjo
這很奇怪。正常的SQL查詢(第一個代碼)也有'NZ',它可以工作。翻譯成VBA不會(第二段代碼)翻譯成多麼複雜,你說的是真的嗎? – TimB
我不認爲'Nz'是問題所在。閱讀本文:[如何在VBA中調試動態SQL](http://stackoverflow.com/questions/418960/managing-and-debugging-sql-queries-in-ms-access/1099570#1099570)。很可能你需要圍繞所有包含字符串的控件。 – Andre