- ベストアンサー
今日の日付の個数をフォーム上のテキストボックスに表示したい
http://oshiete1.goo.ne.jp/qa5082418.html の続きです。よろしくお願いします。 クエリで今日の日付の個数を求めることができました。 今回は、「今日の日付の個数」を をフォーム上のテキストボックスに表示したいです。 コントロールソースにはどのように記載すればいいのでしょうか? そもそも「Count」なのか「DCount」を使うのかわかりません。 クエリで作ったSQL文をそのままコントロールソースに貼り付けてみましたが、「#Name?」が表示されてしまいました。 ご教授よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
このフォームは作成したクエリを基データにしていますか? その場合、クエリは 式1:****というフィールド列が 出ていると思うので、その 式1 をコントロールソースに 設定してみてください。(▼マークでればそこから選んで下さい)
その他の回答 (1)
- DexMachina
- ベストアンサー率73% (1287/1744)
テキストボックスのコントロールソースに、以下のような式を入力すれば、ご希望の 結果が得られるかと思います: =DCount("*", "テーブル1", "[日のみ] Between Date() And Date() + 1") ※先頭の「=」も必ず入力します(→下記参照)。 【解説】 Count関数には、レコード数をカウントする引数しかないため、集計クエリ以外で 使用する場合、条件の指定はできません。 ですので、検索条件(本件では日付)を指定する場合は、DCountを使用します。 また、コントロールソースに式を指定する場合は、式の先頭には「=」が必須に なります。 (先頭に「=」がない場合は、指定した式はフィールド名とみなされます。この結果、 「DCount(~)」というフィールドが見つからないために、「名前が間違っている」と いう意味で「#Name?」のエラーが表示されることになります: SQL文を直接貼り付けたときにエラー表示なったのも、同様の理由です) なお、以下は推測になりますが・・・ 「日のみ」フィールドが名前どおり「(年月)日」の部分しか記録されていないようなら、 Betweenは使用しなくても抽出できます。 (フィールドの書式設定で「時分秒」部分を隠している(→「00:00:00」以外のデータ がある)場合は、ご提示の通りBetweenが必要ということになりますが) 一応、参考まで: =DCount("*", "テーブル1", "[日のみ]=Date()")
お礼
できましたできました。 ご丁寧にありがとうございました。
お礼
すいません。 >このフォームは作成したクエリを基データにしていますか? 全くクエリとは関連していないフォームなのです。 ▼マークには何もありません。 説明不足ですいません。