- ベストアンサー
アクセス 不一致クエリ
初めまして、アクセスの初心者です。 「1104」テーブルには、11月4日分データ149件、 「1105」テーブルには、11月5日分データ496件、 の2テーブルがあります。 (もともとエクセルよりインポート) 2テーブルとも同フィールドで、 商品情報がランダムに 並んでいます。 「1105(11月5日のデータ)」には、 「1104(11月4日データ)」+ 「11月5日に新規で追加」された分も入っている為、 不一致クエリを使い『1105(11月5日)新規』で 入ったもののみを抽出したいのですが、 関連付けるフィードが1つしか選べないので、 上手く抽出できません。 1フィードで比較出来る出荷番号など必ず異なった フィールドがないので、 (単純に考えて) 11月5日(496件)-4日データ(149件)=347件 の結果が出したいのに変な答えが返ってきてしまいます。 全フィールドを関連付けて比較し、 答えを返す方法はないか 教えていただきたいのですが御願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>項目は「専用伝票NO/品目コード/品目名/出荷日/入荷日/数量/単価/規格/備考」 まずウィザードで不一致クエリで1105テーブルのフィールドと1104テーブルのフィールドを関連付けるフィールドでなにかフィールドを結合させます。最後にクエリを実行し表示するではなくクエリを編集するにします。または一度実行させて保存されたクエリをデザインビューで開き編集できるようにします。 デザインが開くと1105テーブルから1104テーブルに結合線が付いているはずです。(1105から1104テーブルへの→)この結合のプロパティは1105テーブルの全レコードと1104テーブルの同じ結合フィールドのレコードだけを含むとなっています。 他の1105と1104の関連付けしたいフィールドを1105から1104へドラッグすると結合線が作られます。必要なフィールド全て付けられます。 このままでクエリを実行するとあいまいな外部結合のエラーとなってしまうので新たに作った結合のプロパティを変更します。結合線上にマウスのポインタを当て右クリックメニューで結合プロパティを選択し結合の仕方を選びないします。全てのレコードがあるのは1105なので1104との差分を抽出するため 1105テーブルの全レコードと1104テーブルの同じ結合フィールドのレコードだけを含む という結合を選びチェックして閉じます。作った結合全て同様にします。 これで出来ます。
その他の回答 (2)
- sanbit
- ベストアンサー率32% (16/50)
不一致クエリデザインモードで開き →テーブルの項目をドラッグして関連付けする(任意の項目を追加する) →結合プロパティ(結合線にカーソルを置いて右クリック)選択する。 で項目を追加できます。 関連付けの項目を追加してください。 ご質問の趣旨と違っていたらごめんなさい。
- O_cyan
- ベストアンサー率59% (745/1260)
>2テーブルとも同フィールドで商品情報がランダムに・・ 意味が理解しにくいのですが・・同フィールドとなっていますが同フィールドなら関連付けるフィールドは1つで足りるのではないでしょうか。 各テーブルのフィールドの構成はどうなっているのですか?
補足
すみません、書き間違えてしまいました。 2テーブルとも同フィールドではなく、 同項目でした。 項目は、 「専用伝票NO/品目コード/品目名/出荷日/入荷日/ 数量/単価/規格/備考」で、 「1105」テーブルにあって、 「1104」に無いデータを 抜き出したいのすが、 500行くらいある為宜しくお願いします。
お礼
お礼遅くなりすぎてしまい申し訳ありませんでした。 上手くいきました。有難う御座いました。