のonClick()イベントがトリガされたときにSQLコードを実行MS Accessモジュールを開発します。
CODE
Dim sqlString As String
sqlString = "SELECT [Table - Summary - All Item Forecasts, Sales, and POs].[COMPANY ID], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[COMPANY NAME], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].ITEM, " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].STYLE, " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].DESCRIPTION, " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[SALE PRICE], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[ON-HAND QTY], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[FORECAST QTY], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[MaxOfLATEST PO DATE] " _
& "FROM [Table - Active Product Catalog] " _
& "LEFT JOIN [Table - Summary - All Item Forecasts, Sales, and POs] " _
& "ON [Table - Active Product Catalog].STYLE = [Table - Summary - All Item Forecasts, Sales, and POs].STYLE " _
& "GROUP BY [Table - Summary - All Item Forecasts, Sales, and POs].[COMPANY ID], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[COMPANY NAME] , " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].Item, " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].Style, " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].Description, " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[SALE PRICE], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[ON-HAND QTY], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[FORECAST QTY], " _
& "[Table - Summary - All Item Forecasts, Sales, and POs].[MaxOfLATEST PO DATE]" _
& "HAVING ((([Table - Summary - All Item Forecasts, Sales, and POs].[COMPANY NAME]) Like ' * ' & [Enter Company Name:] & ' * '));"
DoCmd.RunSQL sqlString
ERROR
実行時エラー '2342':RUNSQLアクションSQL文からなる引数が必要です。
QUESTION(S)
- 私は、次のtutorialに従ってもエラーを受け取りました。 RunSQLコマンドはsqlStringをSQLコマンドとして認識していないようです。しかし、私はSQLステートメントがMS Accessで正しく動作することを肯定的です。何か案は?
- SQLステートメントの最後の行には、MsgBoxプロンプト( "
[Enter Company Name:]
")があります。私はこれがSQL文を投げ捨てているかどうかはまだ分かりませんが、前述のとおり、構文はMS Accessで実行されます。プロンプトをハードコードされた値に置き換えても、同じエラーメッセージが表示されます。
注:私は最も可能性の高いcompany name
を要求inputBox
を作成し、SQL文の最後の行の中に変数を配置します。
はこちらをご覧ください:http://stackoverflow.com/questions/27421873/select-query-does-not-work-when-converted-to-vba-invalid-sql-statement – OpiesDad
考えてみましょうあなたのSQLでテーブルのエイリアスを使用する( 'SELECT Summary。[COMPANY ID] FROM [テーブル - 要約 - 全アイテム予測、販売、PO] ASサマリー');あなたのステートメントは短くて簡単に解析できます。 –