Microsoft Access 掲示板

クエリのフィールドに正しい関数を入れたい / 2

5 コメント
views
4 フォロー
2
hatena 2024/02/26 (月) 15:30:04 修正

エラーメッセージ=指定されたフィールド'[工事番号]'がSQLステートメントのFROM句にある複数のテーブルを参照しました。

メッセージ通り、クエリ内に[工事番号]が複数あるのでどちらのテーブルを参照したらいいか分からないということです。
どちらのテーブルのものかを指定してあげればいいです。

受注番号が数値型の場合

総合計: DSum("受注金額","T_受注種別","受注番号=" & [T_受注番号].[受注番号])

工事番号がテキスト型の場合

総合計: DSum("受注金額","T_受注種別","工事番号='" & [T_受注番号].[受注番号] & "'")

※テーブルの説明とメッセージのフィールド名が異なりますが、テーブルの方(受注番号)が正しいと仮定してます。

ただし、DSum関数は重い処理になりますので、集計クエリと連結した方が処理速度は速くなります。
クエリが増えるのがいやならサブクエリを使うという方法もあります。調べてみてください。

ただ、クエリで集計値と個別の値を同時表示するという要件はあまりないように思いますが、どういう状況でしょうか。
もし、レポート内で集計値を表示したいのなら、レポートのグループフッターのテキストボックスに =Sum([受注金額]) と設定することでグループ別の集計を表示させることはできます。

通報 ...