- ベストアンサー
アクセスで重複するレコードを追加しない方法
- Office97のアクセスを利用しています。すでに作成されたデータベースがあります。この中に、複数のテーブル・クエリ・他(フォームやマクロなど)があります。分かる範囲でこのデータベースを触る許可はいただいています。ただし、テーブルや保存の方法、データ型などの基本しかわからない初心者です。
- 今回は、あるテーブルにデータを大量に追加したいと思っています。その際、重複する(複数条件)データは追加しないようにしたいのです。
- 方法をご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 「一つの条件が一致した場合」しか利用できないのでは? ウィザードが作成したクエリは雛形なので、さらなる編集は可能です。 できあがったクエリをデザインビューで開いて見てください。 結合される列同士を結ぶ線があるので、もうひとつの条件となる列を同じように結びます。 (テーブルAの「列」をドラッグして、テーブルBの「列」にドロップ) そのあと、「不一致クエリウィザード」が作成した線を右クリックして内容を確認。 ご自身で追加した線を右クリックして、上記内容と合わせればOK。 なお、#1の方法では、テーブルBのレコードが減ります。 テーブルBを現状のまま残したいなら、テーブルBをコピーしておいてくださいね。
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
テーブルAの仕様によりますね。何でも良いならそのままでもかまいません。 例示の【テーブルA】が5レコードの状態なら、以下のようになるだけです。 オートナンバー コード 場所 納場 001 AA001 東京 A 002 AA001 東京 B 003 AA001 東京 C 006 AA001 東京 D 004 BB001 大阪 A 005 BB001 大阪 B 仕様がわからないままの「オートナンバー振りなおし」はリスクが大きいことに注意してください。
補足
リスクは避けたいですが・・・ 不一致クエリを利用するだけでも、未登録(追加すべきレコード)が 判明するメリットはありますよね。 (500件が100件くらいには減るかも) そのデータを正規の入力方法で入力したほうがいいかも。
- bin-chan
- ベストアンサー率33% (1403/4213)
必ず「作業前にMDBファイルをバックアップしてから」ですよ。 クエリ作成ウィザードに「不一致クエリ」がありませんかね? 「不一致クエリ」で【テーブルB】から抽出作成されたレコードが追加してはいけないレコードになります。 このクエリを開き、表示されたレコードを削除すれば、テーブルBには「追加するものだけ」が残ります。 ところで【テーブルA】にはオートナンバー列がありますが、どうなさるおつもり?
補足
>不一致クエリ なるほど。 ですが、これは「一つの条件が一致した場合」しか利用できないのでは? >オートナンバー どうしましょうか。 一括追加を行ったら、ナンバリングされないですよね。
補足
なるほど。 あとはこのデータを一括で追加するだけですね。 方法はどうしたらいいんでしょうか。 オートナンバーだと無理でしょうか?