アクセスのクエリ抽出の仕方について教えて下さい。
テーブルに5支店のデータを入れており、クエリでまた5支店の“未入力”とテーブルに入力したものを抽出したものを作っています。
そこで5つの支店の“未入力”を一気に見たいのでもう1つクエリを作りたいのです。
ですがクエリを作り、5支店の備考欄(備考欄に未入力といれています)を選択しフィールドに入れて「!」を教えても何も繁栄されません。
どうしたら5つのクエリのデータを1つのクエリで見れるのでしょうか?
分かりやすく教えていただけると幸いです。
No.6ベストアンサー
- 回答日時:
> テーブルに5支店のデータを入れており、
このテーブルですが、5つの支店ごとにフィールド(Excelでいうところの列(=縦))を
用意している、ということでよろしいでしょうか。
上記推測が正しければ、クエリのデザインビューで、添付画像のように条件を
指定してやれば、ご希望の結果が得られるかと思います。
【説明】
『抽出条件:』と『または:』の欄で、同じ行に抽出条件を指定すると、双方を
満たしたレコードのみが抽出されます(=And検索)。
一方、別の行に抽出条件を指定した場合は、どれか1つの条件を満たすもの
全てが抽出されます(=Or検索)。
今回のご質問の件では「5支店のうち、未入力と記録されたもの全て」の抽出が
ご希望と思われますので、Or検索を行うことになります。
~~~~~~~~~~~~~【以下余談】~~~~~~~~~~~~~
もしもテーブルの構成が推測の通りだった場合、データベースとしてはあまりよい
構成ではありません。
(例えば、ご質問のように支店が5つあると、既に作成されたように支店ごとのクエリ
が必要になったり、添付画像のように支店ごとに条件を重複指定したりする
必要が発生したりします)
ですので、もしも余力があるようでしたら、『正規化』について検討してみることを
お勧めします。
テーブルの『正規化』:
http://www.annyys.net/html/kihon_002.htm
http://www.atmarkit.co.jp/fdb/rensai/db_enginer0 …
例えば、現在のテーブルのフィールドとレコードが、それぞれ
【入金情報テーブル】
ID 支店1備考 支店1入金日 支店1入金額 支店2入金日、・・・
1 期日前入金 2010/09/04 \123,456 未入力
2 未入力 ・・・
といった形だとすると、正規化後は
【入金情報テーブルR】
ID 支店ID 備考 入金日 入金額
1 2 期日前入金 2010/09/04 \123,456
【支店テーブルR】
店舗ID 店名 住所 ・・・
1 本店 ・・・
2 支店1 ・・・
3 支店2 ・・・
といった形になるかと思います。
No.5
- 回答日時:
勘違いだったらごめんなさい
一つのテーブルから5支店のクエリーができていますよね
クエリーの抽出条件欄には "A支店","B支店","C支店" 等となっていますね
一つのクエリーのこの部分を[支店名]とするとクエリーを立ち上げたときに
支店名を聞いてきます。
支店の抽出条件を設定しなければ全支店が対象になります。
支店の並び替え欄を昇順ににしておきます
No.4
- 回答日時:
追加ですが、直接クエリをユニオンクエリの
中で指定することもできます。たとえば、
SELECT クエリ1.ID, クエリ1.A, クエリ1.B, クエリ1.C, クエリ1.備考欄
FROM クエリ1
UNION SELECT クエリ2.ID, クエリ2.A, クエリ2.B, クエリ2.C, クエリ2.備考欄
FROM クエリ2;
・
・
・
UNION SELECT クエリ5.ID, クエリ5.A, クエリ5.B, クエリ5.C, クエリ5.備考欄
FROM クエリ5;
あるいは、
SELECT クエリ1.*
FROM クエリ1
UNION SELECT クエリ2.*
FROM クエリ2
・
・
・
UNION SELECT クエリ5.*
FROM クエリ5;
下のほうは、クエリのフィールド数が同じ
場合に限りすべてのフィールドを表示する
方法です。
いずれの場合も、#3で説明したように
すべてのクエリに設定をしておきます。
No.3
- 回答日時:
>どうしたら5つのクエリのデータを1つのクエリで見れるのでしょうか?
だけでなく、備考欄が未入力と記入されているレコードを
まとめて表示したいということでしたので、
各クエリのデザインビューで新しいフィールドに
IIf([備考欄],"未入力")
と、記入し、抽出条件を
True
として、表示のチェックをはずして保存します。
これを5つのクエリすべてに同じことを設定します。
設定したら保存します。
そのうえで、#2で提示したユニオンクエリを作ります。
たとえば、テーブルの項目をID、A、B、C、備考欄、とします。
テーブル名をT1、T2、T3・・・T5とします。ユニオンクエリは、
SELECT T1.ID, T1.A, T1.B, T1.C, T1.備考欄
FROM T1
WHERE (((IIf([備考欄],"未入力"))=True))
UNION
SELECT T2.ID, T2.A, T2.B, T2.C, T2.備考欄
FROM T2
WHERE (((IIf([備考欄],"未入力"))=True))
UNION
SELECT T3.ID, T3.A, T3.B, T3.C, T3.備考欄
FROM T3
WHERE (((IIf([備考欄],"未入力"))=True))
・
・
・
UNION
SELECT T5.ID, T5.A, T5.B, T5.C, T5.備考欄
FROM T5
WHERE (((IIf([備考欄],"未入力"))=True));
と、このような感じ。途中は諸略していますが、
T1からT5のテーブルで作ったクエリのSQL文をいれます。
ただし、SQL文の終わりを示す;は一番最後だけに
入れます。
ユニオンクエリは各SQLで表示されるクエリの
フィールドの数が同じである必要があります。
といってもあまり難しく考える必要はあいません。
表示したいフィールドの数を同じにすれば
いいだけです。
No.2
- 回答日時:
>どうしたら5つのクエリのデータを1つのクエリで見れるのでしょうか?
ユニオンクエリ
クエリ1のSQL文
UNION
クエリ2のSQL文
UNION
.
.
.
UNION
クエリ5のSQL文;
のような感じ。
No.1
- 回答日時:
1つのテーブルに対し
A支店の未入力の抽出クエリ
B支店の未入力の抽出クエリ
C支店の未入力の抽出クエリ
D支店の未入力の抽出クエリ
E支店の未入力の抽出クエリ
があって結果を1つで見たい、そんな感じでしょうか。
普通テーブルを元にクエリを作りますが、クエリの結果を元にしたクエリもできます。
クエリの結果はテーブル作成クエリで新しいテーブルで残すことができ、さらに追加クエリで2つ以上のクエリ結果を1つにすることもできます。
この2機能を理解し考えてみてはどうでしょう。
教わったやり方そのままで終わらせることなく、自分で理解できてから実施することをオススメします。
!でダメなのは抽出条件を見直すことくらいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) お世話になっています いまクエリを作っています。。 デザインビューの画面の集計の欄で、「グループ化」 4 2022/09/17 17:03
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) アクセスで教えてください。 クエリで2日前を抽出する計算式を 入力して表示させると ちゃんとyyyy 1 2023/06/08 21:05
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
【Access2003 VBA】クエリをエ...
-
VBAによるwebクエリ方法
-
AccessでSQL結果を直接csvに書...
-
Me.FilterOn = True は先でも後で
-
Access 複数のクエリの結果を...
-
アクセスで空白がグループ化さ...
-
Accessで進行状況インジケータ...
-
yes/no型のチェックができない...
-
ACCESSでメッセージにクエリ結...
-
レコード数のカウント
-
SQL文で パラメータが少なすぎ...
-
差込印刷での全角表示について...
-
アクセスで追加した項目に全て...
-
Accessの桁区切りについ...
-
エクセルにおける「フィールド...
-
ここの赤マルの部分なんていう...
-
ACCESSの時間帯の抽出について
-
ACCESS 「パラメータの入力」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
access追加クエリ実行時の重複...
-
AccessでSQL結果を直接csvに書...
-
yes/no型のチェックができない...
-
Access 複数のクエリの結果を...
-
ACCESSのフィールドの表示順が...
-
アクセスで空白がグループ化さ...
-
Access2000で抽出したデータに...
-
Accessで複数(200件程)の置換
-
Accessのエラーについてです。
-
Me.FilterOn = True は先でも後で
-
Accessでユニオンクエリを作成...
-
Access 0で除算(並べ替...
-
Access複数のクエリをExcelの1...
-
ログイン画面後のページの表取...
-
ACCESS テーブル内の列...
-
アクセス ADO レコードの件数...
-
Accessで進行状況インジケータ...
-
Accessで納品書を作りたいです
おすすめ情報