アプリ版:「スタンプのみでお礼する」機能のリリースについて

すみません、、初めて質問しますが、
お手柔らかに宜しくお願い致します。

1.集計クエリ1
   ID--Group化 出庫数--合計 日付--Where条件
2..集計クエリ2
 ID--Group化 入庫数--合計 日付--Where条件

3.出力用クエリ
 ID 商品名 集計クエリ1の合計 集計クエリ2の合計
 IDと左結合で、上記のクエリを作成

デザインビューでは1~3は完成しており、

VBA上で1と2を3のSQLに置き換えるところで悩んでおります。。

どなたか教えてください。

ちなみに1.集計クエリの下記のように試してみましたが、

Dim dbs As DAO.Database
Dim qdf As QueryDef
Dim rst As DAO.Recordset

Set qdf = dbs.QueryDefs("Q_データ抽出をしたいクエリ")
With qdf
.Parameters("[Forms]![f_DataEx]![txt_YearStart]") = "2011"
.Parameters("[Forms]![f_DataEx]![txt_MonthStart]") = "02"
.Parameters("[Forms]![f_DataEx]![txt_DayStart]") = "23"
.Parameters("[Forms]![f_DataEx]![txt_YearEnd]") = "2011"
.Parameters("[Forms]![f_DataEx]![txt_MonthEnd]") = "02"
.Parameters("[Forms]![f_DataEx]![txt_DayEnd]") = "23"
Set rst = .OpenRecordset
End With

上記で求めた"rstを基にSQL文が実行できれば、実現できそうなんですが、
うまく行きません。

言葉足らずの内容もあるかと思いますが、宜しくお願い致します。

A 回答 (4件)

> With qdf


> .Parameters("[Forms]![f_DataEx]![txt_YearStart]") = "2011"

テーブル・クエリの列名が[nYear]で、where [nYear]=[開始年] のような記述なら

.Parameters("[開始年]") = "2011"

のように、クエリのWhere条件で列に記述する名称を書くんじゃないですか?
    • good
    • 0
この回答へのお礼

早速の御回答有難うございます!!

Parametersに値を渡すところは出来て、Debug文で値を取得できるのは確認できました、、ただ、それを別のSQL文に渡せるのかどうかで悩んでおります、、

お礼日時:2012/09/06 22:22

> 上記で求めた"rstを基にSQL文が実行できれば、実現できそうなんですが、


> うまく行きません。

DAOのレコードセットと、SQLは全く別系統の物ですので、レコードセットをSQL文に渡すと言うことはできません。

> 3.出力用クエリ
>  ID 商品名 集計クエリ1の合計 集計クエリ2の合計
>  IDと左結合で、上記のクエリを作成
>
> デザインビューでは1~3は完成しており、

3.出力用クエリ がすでにできているのなら、そのクエリに対して、Parameters を設定すればいいかと思います。パラメータクエリを元にさらにクエリを作成した場合、親クエリは子クエリのパラメータを引き継ぎますので。
    • good
    • 0

こういう事をやりたいのではと思います。


Parameters 何処 Text;
Select F1,F2 from t1 where F1 = [何処];
のようなSQLがあって
qDef.Parameters("何処") = "あそこ"
・・的なことをやって
qDef.Sql が
Select F1,F2 from t1 where F1 = 'あそこ';
のような感じにならないかな?という事でしたら
多分、出来ません。
以前さんざん悩んで結局玉砕しました。。。

結局、元のクエリのParameters句は無くして、それをひな形として、
そのSQLから一時的なクエリを作成し
sSql = qDef("Q1").SQL
sSql=replace(sSql,"何処","こっち") 的なことをしてWHERE句の部分を変換し
db.createquerydef("Q1_TMP")
qDef("Q1_TMP").sql = sSql
のようにしました。
以上、ご参考まで。
    • good
    • 0

#1です。



> デザインビューでは1~3は完成しており、
1~3のクエリをSQLビューで表示して、開示できますか?
(クエリ1・2の日付--Where条件の年月日に関する列定義はどうなってる?)
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す