【イミディエイト】
? DBLookup("SELECT Count(*) FROM テーブル1 WHERE 数字1>0",0)
3
? DBLookup("SELECT Count(*) FROM テーブル1")
4
イミディエイトウインドウでのテスト結果を参照すると、
SELECT Count(*) FROM XXXXX
の戻り値は、3の場合もあるし4もあることが判ります。その違いは WHERE節を指定しているかどうかです。
>Count 関数は単にレコード数を計算するのみです。
>レコードにどのような値が格納されているかは関係ありません。
(microsoft)
質問者は、条件節を指定できない Count 関数を利用しているので《値に関係なくレコード数》を取得し表示していますので、結果は当然に4。
>SELECT Count(*) FROM テーブル1 WHERE 数字1>0
このWHERE節ありのSQL文の実行結果を戻す方法は3つ。
1、=DLookup("Count(*)","テーブル1", "数字1>0")
2、=DCount("*","テーブル1","数字2>0")
3、DBLookup("SELECT Count(*) FROM テーブル1 WHERE 数字1>0",0)
なお、DBLookup()は、私が自作したものでAccessには用意されていません。ですから、通常は1、2のどちらか。普通は2だと思います。
お礼
ありがとうございました! Nzの数式でなんで私のデータだけ空欄があるとエラーが出るのかわからなかったのですが””が入っていたのですね。 親切に教えていただきありがとうございました! 希望通りのものができました!ありがとうございました。