質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

Q&A

解決済

2回答

282閲覧

【Access2010】レコードごとに登録されている件数を表示させたい

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

0グッド

0クリップ

投稿2019/06/11 04:19

編集2019/06/11 05:22

##質問内容
Access2010で伝票管理システムを作成している者です。

下記のような顧客別の売上実績表を作成しているのですが顧客ごとに登録されている件数を取得し表示させたいです。

|顧客番号|顧客名|件数|小計|消費税|合計金額|
|:--|:--|:--|
|001|〇〇〇||
|002|□□□
|003|☆☆☆

※小計、消費税、合計金額は気にしなくて大丈夫です。

〇〇〇の顧客で3つの伝票番号が登録されている場合、件数に3と表示させたいです。

伝票入力などの詳細は過去の私の質問を、、、伝票入力のテーブル等

何かご不明な点があればコメントお願いします。

##訂正
上記で誤りがあったため、訂正いたします。
>〇〇〇の顧客で3つの伝票番号が登録されている場合、件数に3と表示させたいです。

正確には、登録されている全伝票の詳細の行番号で割り振った全レコード数の合計が件数になります。」

##追記

↓クエリで作成しています。
顧客別売上実績表クエリ

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

件数は伝票を数えればいいのは分かりますけど、基準となるテーブル等は無いのですか?

SQL

1select 顧客番号, count(*) 2from T_SlipDetail 3group by 顧客番号

--
基準のテーブルなどにサブクエリーを使用する。

SQL

1select t1.*, (select count(*) from T_SlipDetail where 顧客番号=t1.顧客番号) as 件数 2from 基準のテーブル t1

とか

SQL

1select t1.*, DCount('*', 'T_SlipDetail', '顧客番号=' & 顧客番号) as 件数 2from 基準のテーブル

T_SlipDetailを集計したものと結合する方法もあります

SQL

1select t1.*, t2.件数 2from 基準のテーブル t1 left join ( 3 select 顧客番号, count(*) as 件数 from T_SlipDetail group by 顧客番号 4 ) as t2 5 on t1.顧客番号=t2.顧客番号

追記

SQLビューにして貼り付けて下さい。

SQL

1select T_Customer.*, Nz(sum_Slip.件数, 0) as 件数 2from T_Customer left join ( 3 select F_CustomerCode, count(*) as 件数 4 from T_Slip inner join T_SlipDetail on T_Slip.F_SlipCode=T_SlipDetail.F_SlipCode 5 group by F_CustomerCode 6 ) as sum_Slip 7 on T_Customer.F_CustomerCode=sum_Slip.F_CustomerCode

クエリーデザインで見える状態で行いたい場合は、sum_Slip部分を別クエリーにして下さい。

投稿2019/06/11 04:35

編集2019/06/11 06:55
sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/06/11 05:12

せっかくのご回答いただきましたが上記に誤りがあったため訂正いたしました。 お手数をお掛けし、大変申し訳ございません。
sazi

2019/06/11 05:48

集計対象を明細に変更するだけです。 ※回答を変更しました
退会済みユーザー

退会済みユーザー

2019/06/11 05:59

クエリ内で集計する方法とかありますか?
退会済みユーザー

退会済みユーザー

2019/06/11 06:25

sum_SlipはT_SlipDetailということですか?
sazi

2019/06/11 06:35

いいえ。インラインビュー(from句内で()で括られている部分)です。
退会済みユーザー

退会済みユーザー

2019/06/11 06:39

ありがとうございます。 件数表示できました。 ちなみに、件数がない場合0ってできますか?
sazi

2019/06/11 06:52

Nz()が使用できます。※SQL変更しました。
退会済みユーザー

退会済みユーザー

2019/06/11 06:57

出来ました! 今回もありがとうございました。
guest

0

顧客毎(F_CustomerCode)の 伝票番号(F_SlipCode)の件数は、
下記のようなSQLですね。

sql

1SELECT F_CustomerCode, Count(F_SlipCode) 2FROM T_Slip 3GROUP BY F_CustomerCode;

※画像のテーブル名、フィールド名に基づいてます。

これをクエリとして保存しておいて、必要なクエリに追加して、F_CustomerCode で結合すればいいでしょう。

SQLが書けるなら、サブクエリにすることで一つのクエリにできますが、メンテナンスも考えたら、別クエリにしておいた方かいいかも知れません。

投稿2019/06/11 06:02

hatena19

総合スコア33620

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問