
No.2ベストアンサー
- 回答日時:
再びmaruru01です。
既存のクエリもVBAのSQLステートメント化をお奨めします。
それを標準モジュールに、
Public Sub myRunSQL(Para As String)
Dim SQL As String
SQL = "(SQL文の前の方)" & Para & "(SQL文の後ろの方)"
DoCmd.RunSQL SQL
End Sub
という風にそれぞれのクエリを各プロシージャにしておけば、どこからでも呼び出せるわけです。
すでに作ってあるクエリを書き直すのは面倒ですが、一度書いてしまえばあとは楽です。
また、まったく同じじゃないんだけど結構似てるというクエリは、プロシージャをコピーして名前と中身をかえてやればすぐ出来るわけです。
ちなみに私は、基本的には、クエリもマクロも使用せず、すべてVBAで書いています。
では。
お礼遅くなって申し訳ございません。
なるほど、これならコードが煩雑にならなくてすみますね。
勉強になりました。
本当にどうもありがとうございます。
No.1
- 回答日時:
こんにちは。
maruru01です。クエリというのは、要はSQLステートメントの実行ですから、VBAでSQLステートメントを記述して実行してやればいいと思います。
例えば、フォーム上にコマンドボタンでも置いて、そのクリックイベントに
Dim Para As String
Dim SQL As String
Para = [forms]![F_TEST]![テキスト名]
SQL = "(SQL文の前の方)" & Para & "(SQL文の後ろの方)"
DoCmd.RunSQL SQL
こんな感じです
ちなみにSQLステートメントは、クエリをデザインモードで開き、上部(テーブルが表示されているエリア)の何もないところで右クリックし、メニューの中の[SQLビュー]を選ぶと見られます。
そのSQL文では、適当に改行してありますが、VBAで書く場合は半角スペースでつなげればOKです。
また、最後の";"は要りません。
それと、VBAで変数をSQL文中に入れる場合は、例のように変数の前後でSQL文を切って、"&"でつなげてやらないといけません。
では。
とっても分かりやすい文で、どうもありがとうございました。
この他に、既存のクエリーに、パラメータだけを渡すようなことはできないのでしょうか。
クエリーの内容はまったく同じで、パラメータだけが異なるので。。。
すみませんが、もしお分かりになればご教授願いたいのですが。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Chrome(クローム) Chromeの描画領域を2分割して異なるスクロール位置を同時に表示させることはできますか 1 2023/03/01 16:53
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- 数学 モデルのパラメータの定義がいまいちわかりません。 3 2022/10/11 15:16
- Access(アクセス) お世話になっています いまクエリを作っています。。 デザインビューの画面の集計の欄で、「グループ化」 4 2022/09/17 17:03
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- 統計学 ARMAモデルが適用できる状態について 1 2022/12/30 05:58
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
ACCESS クエリの抽出条件を動的に変更したい。
その他(コンピューター・テクノロジー)
-
Access パラメータークエリ VBAの書き方について よろしくお願いします。 ①クエリでデータを
Access(アクセス)
-
-
4
ACCESS2007 マクロ クエリのパラメータ代入
その他(Microsoft Office)
-
5
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
6
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
7
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
8
VBAでアクセスのクリエの抽出条件を変更
Access(アクセス)
-
9
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
10
ACCESS2003 でクエリの抽出条件に変数を代入したい。
その他(データベース)
-
11
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
12
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
13
Access「レコードが削除されました」のエラー
Access(アクセス)
-
14
access テキストボックスの値取得
Access(アクセス)
-
15
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
16
フォームの値をクエリーに反映したい
その他(Microsoft Office)
-
17
AccessVBA 実行時エラー'2766'について質問です。
その他(データベース)
-
18
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
19
クエリのデータをテーブルに入れたい
Access(アクセス)
-
20
ACCESSのコンボボックスで入力した値がTABLEに反映されずに数字がでます
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索条件について。
-
年月日を持つテーブルから年月...
-
ACCESS2003 でクエリの抽出条件...
-
Access2000で文字列中の半角ス...
-
VBAユーザーフォーム内のテキス...
-
Accessの検索フォームで。
-
複数のフォームの表示順を変え...
-
SQL*Loader
-
Accessのフォームで、空欄のレ...
-
アクセスである文字を含む検索
-
Access レポート印刷するときに...
-
データベースのINT型項目にNULL...
-
passwordが入れられません・・・・
-
エクセルをACCESSのレポ...
-
アクセスでテキストボックスの...
-
ACCESS フォームをそのまま印刷...
-
アクセスで特定のレコードのみ...
-
アクセスでフォームビューがみ...
-
アクセスで数値型のフィールド...
-
「フォームを作成できませんで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
access 検索フォームで検索が...
-
ACCESS2003 でクエリの抽出条件...
-
年月日を持つテーブルから年月...
-
アクセスのフォームにカンマ区...
-
Accessのフォームで、空欄のレ...
-
パススルークエリの動的パラメ...
-
VBAからクエリのパラメータを設...
-
Access2000で文字列中の半角ス...
-
Accessの検索フォームで。
-
ACCESSのフォーム上で複数検索...
-
SQL*Loader
-
Access テキストボックスとlik...
-
アクセス マクロのメッセージ...
-
Access2007のサブフォームのReq...
-
フォームに表示したいんですが...
-
Accessでの電話番号下4桁での検...
-
ACCESSのフォームを使っての住...
-
ACCESS マクロで検索に...
-
コマンドの検索について。
-
複数条件検索について
おすすめ情報