
Access2010で質問です。
よろしくお願いいたします。
Tabにある顧客番号フィールド全てに対して、
商品番号ごとに、実績が無いデータも表示させたいです。
---------------------
・Tab(顧客情報テーブル)
顧客番号
顧客名
・Q1(売上実績クエリ)
顧客番号,
商品名(抽出条件 Forms![フォーム1]![商品番号] Or Forms![フォーム1]![商品番号2] )
売上実績
・Q2(完成クエリ)
顧客番号,商品名,売上実績
1 ,商品A ,0
2 ,商品A ,2
3 ,商品A ,10
1 ,商品B ,1
2 ,商品B ,0
3 ,商品B ,5
---------------------
選択クエリでTabフィールドを全て表示させるように結合させると、
---------------------
・Q2(完成クエリ)
顧客番号,商品名,売上実績
1 ,商品B ,1
2 ,商品A ,2
3 ,商品A ,10
3 ,商品B ,5
---------------------
という表示になりますが、
顧客番号×商品数(A、B)のデータ数を出したいです。
単純に商品名ごとにTabとQ2結合クエリを作成し、
後でまとめるという方法もありますが、
Q1「商品名」の抽出条件は今後増える予定があるため、
できるだけ少ない数のクエリで処理できるようにしたいと思っています。
もしお分かりになれば、教えていただけないでしょうか。
どうぞよろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
品群とは
商商品名(抽出条件 Forms![フォーム1]![商品番号] Or Forms![フォーム1]![商品番号2] )
---------------------------------------
対象とする商品についての記述がないので具体的には説明できませんが
[商品番号] と[商品番号2] を同時に表示するのは何か共通点があるからと考えました。
この共通点を群と表現しました。
例えばコンビニを想定すると、米食類、パン食類、おやつ類、飲料品、アルコール、
日用品、本 等
ついでにNo.2で触れたルックアップ設定に触れておきます。
【顧客ID】⇒【ルックアップ】⇒【表示コントロールのみぎはしからこんぽっボックス】
⇒【値集合ソース右端から顧客マスター】⇒【パラメータの設定】
パラメータ
・連結列=1 顧客マスターの最初のフィールド ID
・列数=2 顧客マスターの最初のフィールド ID、と次の顧客名を指す、
表示順を指定するときは列数~3とし顧客番号を表示順にする
列幅=0 列幅は列数でで決めたフィールドの表示幅をコンマ区切りで順に記述
ただし最後のフィールドはリスト幅を自動で省略可
また1番目のIDは表示する必要がないので0
以上で売上げが追加されると売上の顧客IDに顧客のIDが設定されるが
表示は顧客名になる

No.2
- 回答日時:
失礼とは思いますが
accessをexcelと同じようなものとお考えではありませんか
この両者を決定的に区別する機能がリレーションシップです。
先ずリレーションシップを見直して下さい。
参考URLに以前回答したものです。
これを踏まえてテーブルを定義すると添付図のような体系になります。
1.顧客マスター
ID(オートナンバー型)
顧客名
顧客番号
2.商品マスター
ID(オートナンバー型)
商品名
商品番号
3.売上
ID(オートナンバー型)
売上No.
売上日
顧客ID(数値型 フィールドのルックアッププロパティーコンボボックス設定)
4.売上明細
ID(オートナンバー型)
売上ID(数値型)
商品ID(数値型 フィールドのルックアッププロパティーコンボボックス設定)
数量
これで、添付のようにリレーションシップを定義するとテーブルの編集で
追伸
テーブルを新規に作成すると主キーとしてIDというフィールド追加されますが
これは決して削除しないでください。
1.全てCPにおまかせで、クエリ、フォーム、レポートで省略できます
2.入力項目が省略した分ミス入力を回避できます
3.例えば売上データに顧客マスタのレコードは削除できません
4.顧客番号、商品番号、売上No.とそれぞれのIDと重複していますが、
それぞれの番号は表示順を規定するためのものです。
また 例えば顧客マスタに住所、業種等のフィールドを追加でき、過去に入力した
レコードにも反映されます。
参考URL:http://okwave.jp/qa/q8150369.html

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シングルクォーテーションとダ...
-
Access VBAでクエリーのレコー...
-
ワードで保存するファイル名の...
-
accsessで顧客コードで氏名を呼...
-
Access クロス集計クエリについて
-
ワードでの単純作業の効率化に...
-
結合
-
Access2000 更新のタイミング?
-
Access IF文でテーブルに存在し...
-
Access2000 単票フォーム上の...
-
【続続】Access2002で連番のつ...
-
SQLの抽出方法に悩んでいます(...
-
保存された情報として表示され...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
Accessでテーブル名やクエリ名...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
エクセルVBAで5行目からオート...
-
INSERTできるレコード数を制限...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースの1要素に複数デー...
-
Access フォームのデータがテー...
-
Access 既に開いているフォー...
-
Access VBAでクエリーのレコー...
-
Access IF文でテーブルに存在し...
-
Access 縦(行)のデータを横(列)...
-
Accessデータベースで行と列を...
-
ACCESS で マクロの中でフィ...
-
ADOでレコードを閉じるタイミン...
-
ワードで保存するファイル名の...
-
Accessについて
-
シングルクォーテーションとダ...
-
Accessで名寄せグループの関係...
-
顧客管理に関して
-
Access2000 単票フォーム上の...
-
一発で顧客IDを確認するボタ...
-
ワードでの単純作業の効率化に...
-
エラーが出ます
-
Access クロス集計クエリについて
-
ACCESS2003 Aアクロバットを介...
おすすめ情報