Microsoft Access 掲示板

データベースソフト「アクセス」のプログラムで悩んでいます。

1 コメント
views
4 フォロー

アクセスで15年ぶりに設計作業に携わっています。その中で設計の仕方に問題があるのか、データが取得できないため困っています。レポートに複数のテキストボックスを置き、レポート全体のデータソースは”売上情報”という名のテーブルからの選択クエリー[q_売上情報]としています。問題なのは、あるテキストボックスに表示させたい情報が、クエリーのデータの中で、あるフィールドの一部の情報だけとなる事です。具体的には下記のとおりです。

  レポートの①テキストは[q_売上情報]の[事業所]フィールドのデータが”1”で且つ[商品]フィールドのすべての条件の際の、[売上金額]フィールドのデータを集計させて表示させたい。
  レポートの②テキストは[q_売上情報]の[事業所]フィールドのデータが”null”で且つ[商品]フィールドのすべての条件の際の、[売上金額]フィールドのデータを集計させて表示させたい。
  レポートの③テキストは[q_売上情報]の[事業所]フィールドのすべてのデータで且つ[商品]フィールドのデータが”0”の際の、[売上金額]フィールドのデータを集計させて表示させたい。
 レポートの④テキストは[q_売上情報]の[清算日]フィールドから抽出した日付データを表示させたい。

  最終的にレポートには縦列が日付で、横列に左から④①②③の順に並ばせて、日付ごとの売上データを表示させて完成、です。

各テキストボックスのデータソースにSQL分を書き込んで表示させようとしましたが、データが一位に取れないからなのか(?)テキストのデータが すべて「#Name?」となってしまいます。

そもそも設計の仕方に問題があるのではとも思いますが、解決策が見当たりません。どなたかお教えただけませんか?

suzutaro
作成: 2020/04/28 (火) 12:19:28
通報 ...
1
hiroton 2020/04/28 (火) 13:25:49 22653@f966d

ACCESSはクエリの作成においてSQLの直接入力にも対応しています。
リボンや右クリックのポップアップメニューからSQLビューデザインビューを相互に切り替えられるので、q_売上情報クエリのSQLをコピーして質問されるとより良い回答が得られると思います。(場合によっては売上情報テーブルの構造も)

特定のフィールドの値を条件に部分的な集計をしたい場合、集計用のフィールドを用意して、そのフィールドで集計したいフィールドだけを抽出する条件を指定するとできます。
たとえば、①テキスト用なら

事業所1集計: IIf([事業所]=1,[売上金額])

のようなフィールドを作り、クエリの集計機能を有効にし、集計の項目で合計を設定すると良いでしょう。