VBAで日付を指定してSelectするクエリなのですが、同じ処理をたくさんつくるのが嫌なので、
パラメータクエリにしたいのですが、、、
例えば、
日別売上クエリ: Parameters pDate datetime; を持つ
(VBAから直接呼ぶのはこれだけ) このクエリは、以下の2つのJoinからなる
日別レジ別売上クエリ: 下位クエリで、Parameters pDate datetime; を持つ (客数を得るクエリ)
日別部門別売上クエリ: 下位クエリで、Parameters pDate datetime; を持つ (金額を得るクエリ)
共に、Where を日付=pDateとしてます。
そうしておいて、VBAから set rs1=DB1.Openrecordset(”Select 、、、、From 日別売上クエリ(#” & strDate & ”#) ”)
とやったのですが、ダメでした。
パラメータクエリを他のクエリから呼ぶ構文をお教え下さい。
尚、「パラメータクエリをクエリから呼」や「パラメータクエリをSQLから呼」でGoogleったのですが、
見つかりませんでした。
No.2ベストアンサー
- 回答日時:
日別売上クエリ をRecorsetとして開きたいのですよね。
なら、CreateQuery しなくても、そのまま開けばいいですね。
Dim qd As QueryDef
Dim rs As DAO.Recordset
Dim dDate As Date
dDate = #2010/12/05#
Set qd = CurrentDb.QueryDefs("Q_受講者数")
qd.Parameters("pDate") = dDate
Set rs = qd.OpenRecordset
> つまり、それから呼ばれるクエリ内のパラメータにも、自動的に値が与えられるのでしょうか?
パラメータ名が同じなら、クエリ内のすべてのパラメータに自動的に値が与えられます。
なるほど、了解です。
>パラメータ名が同じなら、クエリ内のすべてのパラメータに自動的に値が与えられます。
明確な解答、ありがとうございました。
No.1
- 回答日時:
QueryDef の OpenRecordset を使いましょう。
Dim db1 As DAO.Database
Dim qdf As DAO.QueryDef
Dim rs1 As DAO.Recordset
Dim strDate As String
strDate = "2010/12/05"
Set db1 = CurrentDb
Set qdf = db1.CreateQueryDef("", "SELECT F1, F2 From 日別売上クエリ")
qdf.Parameters("pDate") = strDate
Set rs1 = qdf.OpenRecordset()
のような感じで。
CreateQueryDef、QueryDef の OpenRecordset の引数などについては
ヘルプで確認してください。
さっそくの回答、ありがとうございます。
qdf.OpenRecordset() というのは、知りませんでした。
やってみます。
ただ、気になるのが、上記の「 qdf.Parameters("pDate") = strDate 」は、
CreateQueryDef("", "SELECT F1, F2 From 日別売上クエリ")で作った、qdfのパラメータにしか効かない(値が与えられない)
ように、僕には思われます。
つまり、それから呼ばれるクエリ内のパラメータにも、自動的に値が与えられるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- その他(データベース) DAOファイルのSQLクエリの部分を引数にして呼び出すときに引数でSELECT文持たせたら 1 2023/01/10 17:36
- Excel(エクセル) Excel Powerクエリーの質問。あるクエリに一致する行だけ除外できますか? 1 2022/08/22 13:48
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Excel(エクセル) VBAで「クエリと接続」の画面を出せますか? 2 2022/10/24 13:35
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
Accessのフィルタ検索でデータ...
-
ACCESS クエリで、グループ化...
-
ACCESSでクエリを作成したら「...
-
「データベースまたはオブジェ...
-
ACCESS クエリー 抽出条件が...
-
Accessのパラメータクエリを他...
-
ACCESSにてフィールド間の最小...
-
選択クエリで偶数月しか表示し...
-
AccessでのDISTINCTROW 、DISTI...
-
access:連続データ入力
-
ACCESS のクエリー実行に異常に...
-
ユニオンクエリについて
-
accessのレポートであとから他...
-
テーブルに主キーを作らないデ...
-
アクセスのフォームのビューが...
-
accessの自動更新処理をできな...
-
Accessを使って日付を比較したい
-
ACCESSのフォームからデータの...
-
Access2002 フォームを閉じるた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
「データベースまたはオブジェ...
-
ACCESSでクエリを作成したら「...
-
ACCESS クエリで、グループ化...
-
クエリで「データ型が一致しま...
-
access・カウント結果がゼロで...
-
SQLで優先順位が高いレコードを...
-
追加先の発見方法(SQL以外)
-
ACCESSにてフィールド間の最小...
-
Access あるクエリを利用して...
-
ACCESS クエリー 抽出条件が...
-
ACCESS のクエリー実行に異常に...
-
アクセスでフォームが更新でき...
-
accessで選択クエリで得た全レ...
-
ACCESSで2つのテーブル比較で...
-
ACCESSでデータ削除すると「読...
-
access:連続データ入力
-
ユニオンクエリについて
-
AccessでのDISTINCTROW 、DISTI...
-
Accessのクロス集計クエリから...
おすすめ情報