
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
ACCESS クエリの抽出条件を動的に変更したい。
その他(コンピューター・テクノロジー)
-
Access パラメータークエリ VBAの書き方について よろしくお願いします。 ①クエリでデータを
Access(アクセス)
-
-
4
ACCESS2003 でクエリの抽出条件に変数を代入したい。
その他(データベース)
-
5
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
6
ACCESS2007 マクロ クエリのパラメータ代入
その他(Microsoft Office)
-
7
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
8
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
9
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
10
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
11
access テキストボックスの値取得
Access(アクセス)
-
12
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
13
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
14
アクセスのレポートに、フォームで算出した数字を表示させたい
Access(アクセス)
-
15
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
16
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
17
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
18
2つ目のレコードの値を取得するには?
Access(アクセス)
-
19
ACCESSのコンボボックスで入力した値がTABLEに反映されずに数字がでます
Access(アクセス)
-
20
Accessでテーブルからテーブルにデータをコピーしたい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
SQL*Loader
-
アクセス マクロのメッセージ...
-
Access レポート印刷するときに...
-
passwordが入れられません・・・・
-
ACCESS フォームをそのまま印刷...
-
レコードを保存するコード ア...
-
MA ACCESSデータベースに詳しい...
-
access フォーム上で複数行の...
-
ACCESSのレポートで、指定した...
-
Excelで入力したデータを自動的...
-
アクセスの自動保存解除はでき...
-
ACCESS──メインフォームでサブ...
-
アクセスで数値型のフィールド...
-
Accessのフォームで、画面表示...
-
新規レコード行を非表示にしたい
-
Accessでチェックボックスで抽...
-
サブフォームに対してGoToRecor...
-
エクセルをACCESSのレポ...
-
EXCEL VBAのユーザーフォームに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
パススルークエリの動的パラメ...
-
VBAからクエリのパラメータを設...
-
Accessでの電話番号下4桁での検...
-
SQL*Loader
-
access 検索フォームで検索が...
-
ACCESSのフォーム上で複数検索...
-
アクセス マクロのメッセージ...
-
マクロの「アクション:コマン...
-
ACCESS マクロで検索に...
-
Access テキストボックスとlik...
-
検索フォームで空白を抽出したい
-
Accessで検索画面を作る方法
-
Accessのフォームで、空欄のレ...
-
Like関数の条件をフォームから...
-
ACCESS2003 でクエリの抽出条件...
-
アクセスのフォームにカンマ区...
-
フォームで検索画面を作成しま...
-
複数条件検索について
-
DBソフト ACCESS:検索フォー...
おすすめ情報