2016-07-24 20 views
0

でのエラーランタイム3141 SQL変更のサブフォームのレコードソースをしようとしているときに、私は、MSへのアクセスでエラーを取得していますコンボボックスに基づいてのMS Access - VBA

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect. 

ここに私のコード

Private Sub Text4_AfterUpdate() 
If (Me.Text4.Value = "(ALL)") Then 
    filterORIGIN_COD = "SELECT SUMMARY.DEST_CITY, SUMMARY.DESTINATION, Count(SUMMARY.CNOTE_NO) AS CountOfCNOTE_NO1" & _ 
       "FROM SUMMARY" & _ 
       "WHERE (((SUMMARY.ORIGIN_CODE) Like " & "'" * "'" & ")))" & _ 
       "GROUP BY SUMMARY.DEST_CITY, SUMMARY.DESTINATION, SUMMARY.TGL_DATA, SUMMARY.ORIGIN_CODE, SUMMARY.ORIGIN, SUMMARY.DEST_CODE;" 


Else 
    filterORIGIN_COD = "SELECT SUMMARY.DEST_CITY, SUMMARY.DESTINATION, Count(SUMMARY.CNOTE_NO) AS CountOfCNOTE_NO1" & _ 
       "FROM SUMMARY" & _ 
       "WHERE (((SUMMARY.ORIGIN_CODE)=" & """Me![Text4]""" & ")))" & _ 
       "GROUP BY SUMMARY.DEST_CITY, SUMMARY.DESTINATION, SUMMARY.TGL_DATA, SUMMARY.ORIGIN_CODE, SUMMARY.ORIGIN, SUMMARY.DEST_CODE;" 

End If 
Me![OUTBOUND_DETAIL].Form.RecordSource = filterORIGIN_COD 
Me![OUTBOUND_DETAIL].Requery 


End Sub 

ADDITIONAL 実際に私はサブフォーム(クエリレコードソース)をフィルタリングしようとしている、誰かが私にそれを行うためのより良い方法を示すことができますか? :)

+1

結果の文字列の前にはスペースがありません「FROM」という単語、たとえば「... CountOfCNOTE_NO1FROM SUMMARY ...」 –

答えて

0

にマクロでも利用できます方法単に(アクセス2010+のため)DoCmd.ApplyFilterまたはDoCmd.SetFilterを使用して、トリガイベントにサブフォームをフィルタ処理しようとしている場合:

Private Sub Text4_AfterUpdate() 
    DoCmd.ApplyFilter , "[SUMMARY.ORIGIN_CODE]='" & Me![Text4] & "'" 
End Sub