読者です 読者をやめる 読者になる 読者になる

ぼちぼち書くブログ

日記とかうまいもんとかパソコンのことをマイペースで記します。高知市に住んでいるので地元の情報も投稿します。

データベースで抽出する不一致クエリー(Microsoft Access)

ツール PC-Windows PC

仕事で担当しているJANデータの管理は結構厄介だ。桁数やチェックデジットはもとより、面倒なのは重複チェックである。そもそもJANデータの入手経路としてはメーカーから入手するしか無く、その形態もメーカーによって様々なので、最低限Excelなどの表計算ソフトで整形する必要が出てくる。私はCalc@LibreOfficeを使っているが。

さて本題の重複チェックである。幸いというかAccessには不一致クエリーという概念があり、ウィザードから比較的容易に作成できる。しかし一々ウィザードで作ってられないケースもあるので備忘録しておく。

話の流れとして下記のとおり定義しておく。

  • 1万件のマスターレコードがある
  • 除外したいJANコードがテキストデータで1000件(行)ある
  • 欲しいのは残りの9000件

実際の作業手順

  1. 除外したい1000件を「除外JAN」というテーブルでインポート
  2. 選択クエリーを新たに作り、JANフィールドをリレーションする
  3. リレーションの向きはマスター全件とする
  4. フィールドには、JANマスターの方全てに、除外JANフィールド追加
  5. 選択クエリーを実行してみると、JANが一致したレコード1000件には除外JANフィールドが表示されているが、それ以外の9000件には表示されていない。(ここが肝)

ココまできっちりと出来たら後はちょっとイメージするだけで出来るよね?

  1. クエリーをデザインモードで開き直す。
  2. 除外JANフィールドの選択条件に「Is Null」を定義して、表示のチェックボックスを外す。
  3. 再度クエリーを実行してみると、不一致9000件が表示される。
  4. クエリーの種類を、テーブル作成にするとか、そのままCSV等にエクスポートすれば、除外JANを考慮したいわゆる不一致クエリーの出来上がり。

あくまでも私の為に書いた私の文章なので参考になればラッキー、ならなかったら残念ということで。

Accessのデータベースのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Access2007/2003対応Accessのデータベースのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Access2007/2003対応
著者:立山 秀利
秀和システム(2008-11)
販売元:Amazon.co.jp
クチコミを見る
Accessはじめてのデータベース―Access2003/2002/2000対応Accessはじめてのデータベース―Access2003/2002/2000対応
著者:牧村 あきこ
技術評論社(2004-03)
販売元:Amazon.co.jp
クチコミを見る

できる大事典 Access 2007 Windows Vista対応 (できる大事典シリーズ)できる大事典 Access 2007 Windows Vista対応 (できる大事典シリーズ)
著者:きたみあきこ
インプレスジャパン(2009-02-03)
販売元:Amazon.co.jp
クチコミを見る
できるAccess 2003 & 2002 Windows XP対応 (できるシリーズ)できるAccess 2003 & 2002 Windows XP対応 (できるシリーズ)
著者:広野 忠敏
インプレス(2004-03-16)
販売元:Amazon.co.jp
クチコミを見る