Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1119 / 2272 ツリー ←次へ | 前へ→

【8700】パラメータクエリ ワルツ 06/10/19(木) 13:30 質問[未読]
【8706】Re:パラメータクエリ まさ7251 06/10/19(木) 23:27 発言[未読]
【8717】Re:パラメータクエリ ワルツ 06/10/20(金) 17:59 お礼[未読]

【8700】パラメータクエリ
質問  ワルツ  - 06/10/19(木) 13:30 -

引用なし
パスワード
   WinXP + Access2000です。

選択クエリ(パラメータあり)をあらかじめ作成しておいて、
VBAから、QueryDefを使用して、パラメータを設定して使用しています。

ex1)指定日付のデータを取得
Select * from AAA where 日付=[パラメータ] ・・・ こんな感じです。

今度、仕様変更により、日付が未入力の場合は、全データを対象としたい
ということになりました。

ex2)SQLのイメージ
 1.日付を指定した場合:Select * from AAA where 日付=[パラメータ]
 2.日付を指定しない場合:Select * from AAA

新規にそれようにクエリを作成すればできますが、
既存のクエリの改造だけでなんとかする方法はありませんか?

【8706】Re:パラメータクエリ
発言  まさ7251  - 06/10/19(木) 23:27 -

引用なし
パスワード
   >今度、仕様変更により、日付が未入力の場合は、全データを対象としたい
>ということになりました。
>
>ex2)SQLのイメージ
> 1.日付を指定した場合:Select * from AAA where 日付=[パラメータ]
> 2.日付を指定しない場合:Select * from AAA
>
>新規にそれようにクエリを作成すればできますが、
>既存のクエリの改造だけでなんとかする方法はありませんか?

・Like演算子を使用すれば出来るかと思います。

・あるいは、SQL文を全て書き換えるとかでも出来ると思います。
 例えば、
 CurrentDb.QueryDefs("クエリ名").SQL = "Select * from AAA"

【8717】Re:パラメータクエリ
お礼  ワルツ  - 06/10/20(金) 17:59 -

引用なし
パスワード
   ご回答ありがとうございます。

>・Like演算子を使用すれば出来るかと思います。

へー、こんなことできるのですか。


>・あるいは、SQL文を全て書き換えるとかでも出来ると思います。
> 例えば、
> CurrentDb.QueryDefs("クエリ名").SQL = "Select * from AAA"

あ、これも知りませんでした。
ただ、これですと、逆にクエリオブジェクトにこだわる必要もないですね。
SQL文を文字列で作成してそのままやるのと同等ですね。
ただ、こちらのほうが楽そうなのでこの方式を使用してみます。

ありがとうございました。

1119 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078210
(SS)C-BOARD v3.8 is Free