2017-07-17 75 views
-1

我一直在努力使這個聲明工作一段時間,但最終失去了生存的意志。從本質上講,我試圖過濾一個報告只有特定的位置(所以如果你想查詢只包括位置「Avonmouth」和「貝德福德」,這就是它包括的內容,過濾其餘的)我有通過執行復選框系統來完成此操作,以便您可以輕鬆地將位置添加到過濾器。不幸的是,我不斷收到SQL腳本的語法問題。它有點屠殺,所以請原諒我,但我已經包括在下面的SQL。 (CHKBE =複選框)語法錯誤:SQL語句訪問的查詢表達式中的逗號?

WHERE QryTraining IN ((IIf [Forms]![ReportDeployer]![CHKAV]<>"" ,"Avonmouth",x),(IIf [Forms]![ReportDeployer]![CHKBA]<>"" ,"Basingstoke",x),(IIf [Forms]![ReportDeployer]![CHKBT]<>"" ,"Bedford Transport",x),(IIf [Forms]![ReportDeployer]![CHKBW]<>"" ,"Bedford Warehouse",x),(IIf [Forms]![ReportDeployer]![CHKBE]<>"" ,"Belfast",x),(IIf [Forms]![ReportDeployer]![CHKCA]<>"" ,"Carluke",x),(IIf [Forms]![ReportDeployer]![CHKEX]<>"" ,"Exeter",x),(IIf [Forms]![ReportDeployer]![CHKKI]<>"" ,"Kidderminister",x),(IIf [Forms]![ReportDeployer]![CHKKN]<>"" , "Knowsley",x),(IIf [Forms]![ReportDeployer]![CHKTE]<>"" ,"Teva",x),(IIf [Forms]![ReportDeployer]![CHKWI]<>"" ,"Wickford",x),(IIf [Forms]![ReportDeployer]![CHKYO]<>"" ,"York",x))

每次我嘗試運行它,它拋出它背面採用了語法錯誤。 )

在此先感謝,T.

+0

這是來自動態參數化查詢對象嗎?我從不使用它們。我更喜歡VBA構造條件字符串,並應用於形式Filter屬性或OpenForm/OpenReport的WHERE參數。而不是一堆複選框,我會使用多選列表框和VBA來構造IN參數字符串。什麼是x? – June7

回答

0

不知道這會在每個IIF(年初工作更好,但括號是放錯了地方,也許需要撇號分隔符:

WHERE QryTraining IN (IIf([Forms]![ReportDeployer]![CHKAV]<>"" ,"'Avonmouth'",x), IIf([Forms]![ReportDeployer]![CHKBA]<>"","'Basingstoke'",x), IIf([Forms]![ReportDeployer]![CHKBT]<>"","'Bedford Transport'",x), IIf([Forms]![ReportDeployer]![CHKBW]<>"","'Bedford Warehouse'",x), IIf([Forms]![ReportDeployer]![CHKBE]<>"","'Belfast'",x), IIf([Forms]![ReportDeployer]![CHKCA]<>"","'Carluke'",x), IIf([Forms]![ReportDeployer]![CHKEX]<>"","'Exeter'",x), IIf([Forms]![ReportDeployer]![CHKKI]<>"","'Kidderminister'",x), IIf([Forms]![ReportDeployer]![CHKKN]<>"","'Knowsley'",x), IIf([Forms]![ReportDeployer]![CHKTE]<>"","'Teva'",x), IIf([Forms]![ReportDeployer]![CHKWI]<>"","'Wickford'",x), IIf([Forms]![ReportDeployer]![CHKYO]<>"","'York'",x))

什麼是x?

+0

x只是意味着一個非值,不會影響過濾器 –

+0

此外,剛試過這個,它非常有效! x引起的問題,雖然... –

+0

毫不奇怪。嘗試使用空字符串。 – June7