いつもお世話になっております。よろしくお願い致します。
Access 2002 SP3。
重複クエリを使って、1つのテーブル内で、「重量」と「入庫日」が一致するレコードを抽出しています。
(重複クエリ実行結果サンプル)
ID 重量 入庫日 管理番号 取引先
M001 5140 2005/09/27 P5916000 M社
S018 5140 2005/09/27 P5916000PP S社
M169 8100 2005/04/22 522A3014 M社
S6 9000 2005/04/22 522A3014GA S社
S171 1050 2005/01/31 Z3988722 S社
S4 1050 2005/01/31 Z165785SP2 S社
「管理番号」の入力ミスや桁数違いを発見するために、「重量」と「入庫日」が同じものを抽出するのですが、
取引先が、M社 vs S社で比較したいのです。
重複クエリウィザードを用いて作成すると、S社 vs S社においても、「重量」「入庫日」が同じレコードを
表示してしまうので、それらは省きたいのです。
※上記サンプルでは、IDフィールドの値が「S141」と「S4」が該当。
(可能ならば、逆に、それらだけを表示するクエリも欲しい)
Accessには慣れておらず、またSQLもシスアド取得のために少ししたぐらいなもので・・・・。
どなたかお知恵をお貸しください。
情報が不足していれば、補足しますので、よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
以下を、クエリのSQLビューで貼り付けてください(「テーブル名」はお使いのテーブルの名称に変更してください)。
「入庫日」のデータ型は「日付/時刻型」であることを前提としています。SELECT テーブル名.ID, テーブル名.重量, テーブル名.入庫日, テーブル名.管理番号, テーブル名.取引先
FROM テーブル名
WHERE (((DCount("*","テーブル名","[重量] =" & [重量] & " AND [入庫日] = #" & [入庫日] & "# AND [取引先] " & IIf([1:取引先が相違、2:同一]=1,"<> '","= '") & [取引先] & "'"))>=[1:取引先が相違、2:同一]))
ORDER BY テーブル名.重量, テーブル名.入庫日, テーブル名.取引先;
このクエリを開くと、「1:取引先が相違、2:同一」と表示され、入力待ちになりますので、取引先が異なるものを比較したい場合は数字の「1」、同じものを比較したい場合は数字の「2」を入力してください。
これで水曜どうでしょう。
すばやいご回答ありがとうございます。
自分の勉強不足を痛感しました。
他にも様々な分析のために必要なクエリが多くあって、
管理の困難さに辟易していたのですが、
パラメータを使えば、クエリ数が抑えられますね♪
感謝感謝です。ありがとうございました。
No.1
- 回答日時:
まずテーブル名をAとした場合
SELECT A.重量, A.入庫日, A.取引先, A.ID
FROM A
WHERE (((A.重量) In (SELECT [重量] FROM [A] As Tmp GROUP BY [重量],[入庫日],[取引先] HAVING Count(*)>1 And [入庫日] = [A].[入庫日] )))
ORDER BY A.重量, A.入庫日, A.取引先;
上記のSQLで重量・入庫日・取引先が重複するレコードを抽出する重複クエリを作ります。上記でIDがS171とS4のレコードが抽出されます。
このクエリをサンプルの様に表示する重複クエリにネストすれば出来るのでは
テーブルをAとして先の重複クエリをA重複1_Qというクエリ名とした場合
SELECT A.重量, A.入庫日, A.ID, A.取引先, A重複1_Q.ID
FROM A LEFT JOIN A重複1_Q ON A.ID = A重複1_Q.ID
WHERE (((A.重量) In (SELECT [重量] FROM [A] As Tmp GROUP BY [重量],[入庫日] HAVING Count(*)>1 And [入庫日] = [A].[入庫日])) AND ((A重複1_Q.ID) Is Null))
ORDER BY A.重量, A.入庫日;
としてA重複_Qというクエリを作り開けば取引先が重複しない他の重複レコードを抽出できると思いますが。
A重複1_Qを開けばIDがS171とS4のレコードが抽出されます。
SQLピューで上記のSQLをコピペしてテーブル名やフィールド名を正しい名前に変更してみてください。
これで行けるはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(データベース) accessについて 2 2022/05/31 16:58
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access エラー 指定されたフィ...
-
アクセスのクエリで引き算をし...
-
弁当屋の食材発注システムを教...
-
エクセルで在庫管理表の作り方...
-
ACCESS フォームのレコードを...
-
Accessで“0”ゼロ表示をする
-
access クエリ 合計の出し方
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
Accessで、1つの項目に複数の...
-
SQL文で パラメータが少なすぎ...
-
Accessのテーブルのフィールド...
-
ACCESSのクエリで抽出条件「ま...
-
アクセスのエラー「クエリには...
-
アクセスで追加した項目に全て...
-
2つのテーブルに共通するレコ...
-
テーブルでメモ型になっている...
-
Accessの桁区切りについ...
-
ACCESS 重複データを1...
-
テキストボックスにクエリ結果...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで在庫管理する時の在庫...
-
Accessで“0”ゼロ表示をする
-
ACCESSで在庫の入出庫履歴を作...
-
Access エラー 指定されたフィ...
-
新宿ミライナタワー駐車場
-
アクセスのクエリで引き算をし...
-
在庫管理と賞味期限管理
-
ACCESSで在庫管理 備考欄の組...
-
Accessで在庫管理をしたいです。
-
MySQL+PHP を使用した在庫管理
-
Accessで、在庫表を作りたいの...
-
Accessのレポートで日々の在庫...
-
ACCESSで在庫管理を作成するよ...
-
access クエリ 合計の出し方
-
ACCESSで困っています。
-
エクセルの関数でわからないこ...
-
アクセス・入出庫管理
-
アクセスが・・・
-
出庫と消費について
-
エクセルVBAとアクセスでの在庫...
おすすめ情報