プロが教える店舗&オフィスのセキュリティ対策術

レコードソースはフォームのOpenイベント時に設定してる非連結レポートです。
レポートフッターでの集計を行いたいのですが、まず、1)Dcountでいいのかどうか、2)Dcountの使い方、をおしえてください。
【実現したいこと】レコードソースのフィールドには1~5の数値がランダムに入っている。レポートのフッターにテキストボックスを5個追加して、それぞれにそのフィールドのレコードセット全体での5の数、4の数・・・、を表示したい。
AccessのヘルプでDcountを調べたのですが、引数の意味がまったく???なのです。よろしくお願いします。

A 回答 (2件)

>レコードソースはOPENイベントのSQLで書いているの


ですね?

DCountではクエリ又はテーブルを指定するしかないので、このパターンでは使用できない
かもしれないですね。
もし、クエリーを使用して良いのであればレポートのopenイベントで作成している
SQL文をクエリーにセットして見てはいかがでしょうか?


まず、"Q_クエリ"と言う名前でクエリーを作成しておき、レポートのレコードソースで"Q_クエリ"を選択します。
(このときQ_クエリの中身はなんでも良いです。)

Private Sub Report_Open(Cancel As Integer)
Dim qd_Query As QueryDef
Dim strSQL As String

Set qd_Query = CurrentDb.QueryDefs("Q_クエリ")

strSQL = "SELECT テーブル.* FROM テーブル;"

qd_Query.SQL = strSQL

End Sub

先程の
[テキスト1]のコントロールソースに
= DCount("フィールド名", "Q_クエリ", "フィールド名 = 1")
とすれば出るのではないでしょうか?


こんな感じしか思いつきませんでした。
    • good
    • 0
この回答へのお礼

とっても参考になりました。
クエリーとして作成されていることが必要なんですね。
今日、会社でためしたら、うまくいきました!

お礼日時:2001/11/19 12:44

DCount で大丈夫だと思います。



方法としては、
レポートのレポートフッターにテキストボックスを5つ作成します。
ここでは名前を、[テキスト1][テキスト2]・・・とします。

[テキスト1]のコントロールソースに、

= DCount("フィールド名", "レコードソース名", "フィールド名 = 1")

と書きます。
[テキスト2]以降は3番目の引数の = 1 を、それぞれの数に変更します。

DCountの引数の意味は、例の通りです。

質問の意味をはき違えていたらごめんなさい。

この回答への補足

回答ありがとうございます。
引数の意味はわかりましたが、"レコードソース名"の部分でハマッています。前述したように、レコードソースはOPENイベントのSQLで書いているので、それを参照できる名前がないのです。
その部分を"[Reports]![レポート名]"としてみましたが、どうもうまくいきません。。。

補足日時:2001/11/16 15:42
    • good
    • 0

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