• ベストアンサー

クエリならできるのにVBAだとエラー「#Name?」になる

今日の処理件数を 「SELECT Count(Tメイン.処理日) AS 処理日のカウント FROM Tメイン HAVING ((((Int(Tメイン!処理日)=Date()))));」 これをクエリで実行したら問題なく表示できるのですが Sub 今日の件数() SQL = "SELECT Count(Tメイン.処理日) AS 処理日のカウント " & _ "FROM Tメイン " & _ "HAVING ((((Int(Tメイン!処理日)=Date()))));" Form_フォーム1.今日の件数テキスト.ControlSource = SQL End Sub だと 今日の件数テキストが「#Name?」になります。 そっくりそのままVBAで書いただけなのになぜエラーになるのでしょう? 不思議です。 解決策をご存知の方御回答宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

テキストボックスの ControlSource は、フォームのレコードソースで抽出されたフィールド名や式が指定できたと思います。 SQL文そのものはできなかったかと。(こういう指定はしたことがありません) 今日の件数テキストのControlSource記述内容が変わらないのであれば、 デザイン画面で、今日の件数テキストのプロパティ「コントロールソース」部分に =DCount("*","Tメイン","INT(処理日)=DATE()") と、式で記述してみてはいかがでしょうか。

1wer56
質問者

お礼

ありがとうございます。

その他の回答 (2)

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.3

No1で。 すみません! お書きになったとおり データソースと 書いたのはレコードソースを意図とし名称違いで書いていました。

1wer56
質問者

お礼

わざわざありがとうございます。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.1

テキストボックスのコントロールソースに、SQL文はかけないからです。 フォームのデータソースには書けます。 データソースとコントロールソースの意味をご確認を。

1wer56
質問者

お礼

フォームを確認してみたらレコードソースはありましたけどデータソースは見つけられませんでした。汗

関連するQ&A