#509 | SQLビューのSQL文をシンプルにするポイント | クエリ、VBA | |
AccessのVBAでプログラムを作る場合、保存済みのクエリ名を指定して開くのではなく、SQL文自体をコードの中に埋め込んで記述する場合も多々あります。 AccessのSQLを熟知していればその場(VBEのコードウィンドウ上)でSQL文を書いていくこともできますが、あまりSQLに詳しくない場合、あるいは多くのテーブルを結合したりといった複雑なSQL文を書く場合には、いったんクエリのデザインビューでクエリを作り、それをSQLビューに切り替え、そこに表示されたSQL文をコピー&ペーストでVBAのコード上に貼り付けて使うという作業方法が効率的です。 例: SELECT T売上.伝票番号, T売上.売上日付, T売上明細.商品コード, T売上明細.数量 FROM T売上 INNER JOIN T売上明細 ON T売上.伝票番号 = T売上明細.伝票番号 WHERE (((T売上.売上日付) Between #1/1/2009# And #12/31/2009#)) ORDER BY T売上明細.商品コード; しかし、Accessのクエリのデザインビューから自動生成されるSQL文はかなり冗長な内容になっています。クエリのデザインビューでデザインしてそのまま保存して使うならそれでも問題ありませんが、VBAのプログラム上に書き込む場合には少々分かりづらいものになってしまいますので、不要な記述は取り除いてなるべくシンプルにしておくとあとのメンテナンスが楽です。 その場合のポイントとして、次のような点が挙げられます。
書き換え例: SELECT T売上.伝票番号, 売上日付, 商品コード, 数量 FROM T売上 INNER JOIN T売上明細 ON T売上.伝票番号 = T売上明細.伝票番号 WHERE 売上日付 Between #1/1/2009# And #12/31/2009# ORDER BY 商品コード; |
|||
|
Copyright © T'sWare All rights reserved |