パソコン情報

【Access】今更ですが、合計が#エラーになるアクセスの法則

rakuten_design="slide"; rakuten_affiliateId="0f23ea38.2569a462.0f23ea39.89564f16"; rakuten_items="ctsmatch"; rakuten_genreId="0"; rakuten_size="600x200"; rakuten_target="_blank"; rakuten_theme="gray"; rakuten_border="on"; rakuten_auto_mode="on"; rakuten_genre_title="off"; rakuten_recommend="on"; rakuten_ts="1786427094851";

本当に今更ですが、Accessって、

ココがダメ

なんでこんな簡単な事ができないのだろう?

って事がよくあります。

Accessの規則を理解していればいいのかもしれませんが、何でって思う事が大きいです。

今回のエラーもその一つなんですが、開発していて今回もハマってしまいました。

普通にフォームで合計出そうとすると#エラー

#エラーの意味がわからなかったのですが、

注意ポイント

非連結テキストボックス部分での小計の合計を出したのがだめだったのかも

しれないと考え直し下記のようにしました。

非連結テキストボックスじゃなく、実在するフィールドでSUM関数を使ったら、ちゃんと合計がでるようになりました。







話は、これで終わりじゃなく不思議な規則?

 

実際この現象で悩んだのは、違う事から始まったのですが、クエリであるテーブルのグループ化した合計値を元に非連結のテキストボックスにて判定させようと、0と1に分けたかったのですが、

不思議ポイント

人間が計算する見た目の判定と、Accessが計算した判定が一致しない

のです。

すみません!わかりずらくて・・・消してしまったので再現できなくなってしまったのです。

 

つまり、フォームやレポートで、非連結のテキストボックス(もしくは、複雑な集計クエリ)の値で合計(SUM関数)や判定(IIF関数)をする場合は要注意だってことだと教訓になりました。

 

今回ハマった件も、クエリをフォームに起こす前段階で、クエリ内で判定計算をさせることで回避しました。