
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を探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
ACCESSでデータの追加は?
-
「データベースまたはオブジェ...
-
ACCESS クエリー 抽出条件が...
-
access・カウント結果がゼロで...
-
ACCESSにてフィールド間の最小...
-
SqlServer2012 ビューとクエリ
-
ACCESSで2つのテーブル比較で...
-
SQLで優先順位が高いレコードを...
-
AccessでのDISTINCTROW 、DISTI...
-
access SQLの抽出結果をFilter...
-
アクセスでフォームが更新でき...
-
AccessのクエリをSqlサーバーの...
-
追加先の発見方法(SQL以外)
-
Access97で任意のフィールドと...
-
テーブルに主キーを作らないデ...
-
Accessのフォーム操作について
-
Accessでマスターデータで資格...
-
Access97のフォーム(リストボッ...
-
accessの自動更新処理をできな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
「データベースまたはオブジェ...
-
ACCESSでクエリを作成したら「...
-
ACCESS クエリで、グループ化...
-
access・カウント結果がゼロで...
-
追加先の発見方法(SQL以外)
-
ACCESSにてフィールド間の最小...
-
ACCESS のクエリー実行に異常に...
-
ACCESS クエリー 抽出条件が...
-
クエリで「データ型が一致しま...
-
ユニオンクエリについて
-
SqlServer2012 ビューとクエリ
-
Access あるクエリを利用して...
-
アクセスでフォームが更新でき...
-
AccessでのDISTINCTROW 、DISTI...
-
accessで選択クエリで得た全レ...
-
SQLで優先順位が高いレコードを...
-
access:連続データ入力
-
AccessのクエリをSqlサーバーの...
-
選択クエリで偶数月しか表示し...
おすすめ情報