Page 272 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼重複レコードの削除 アガペー 03/5/12(月) 15:51 ┗Re:重複レコードの削除 イケガミ 03/5/12(月) 16:58 ┗うまくはいくのですが アガペー 03/5/13(火) 13:43 ┗Re:うまくはいくのですが イケガミ 03/5/13(火) 14:42 ┗ありがとうございました。 アガペー 03/5/14(水) 16:25 ─────────────────────────────────────── ■題名 : 重複レコードの削除 ■名前 : アガペー ■日付 : 03/5/12(月) 15:51 -------------------------------------------------------------------------
テーブルに重複レコードがある場合、最初のレコードだけ残し、 残りを削除する方法がわかりません。 Countで同じレコードが2つ以上の場合、削除する 方法だと思うのですが、条件と変数の取り方などがわかりません。 ご教授をお願い致します。 |
>テーブルに重複レコードがある場合、最初のレコードだけ残し、 >残りを削除する方法がわかりません。 すべてのフィールドが同じものが複数レコードあるということでしょうか? であれば、いちばん簡単なのは、 重複クエリを作成し、それをもとに集計クエリ。 で、集計クエリを元にテーブル作成クエリを作れば、重複なしの テーブルができます。 もしくは、テーブルの枠だけを新たに作成して、そこに主キーか重複なし インデックスを設定しておいて、現在のテーブルから追加クエリで レコードを入れてやれば、大丈夫だと思います。 |
▼イケガミ さん: >>テーブルに重複レコードがある場合、最初のレコードだけ残し、 >>残りを削除する方法がわかりません。 > >すべてのフィールドが同じものが複数レコードあるということでしょうか? >であれば、いちばん簡単なのは、 > >重複クエリを作成し、それをもとに集計クエリ。 >で、集計クエリを元にテーブル作成クエリを作れば、重複なしの >テーブルができます。 > >もしくは、テーブルの枠だけを新たに作成して、そこに主キーか重複なし >インデックスを設定しておいて、現在のテーブルから追加クエリで >レコードを入れてやれば、大丈夫だと思います。 回答ありがとうございます。 私がやりたいことはテーブルをそのまま使うことなので、 イケガミさんがおっしゃった2番目の方で試してみたのですが、 追加先テーブルの2つのフィールドで重複なしインデックスにするので クエリを使った場合は"全てのレコードが追加されない"旨の確認メッセージ が、モジュールにINSERT INTO SELECTで書くと実行時エラーが出ます。 クエリの場合、"はい"にするとちゃんとレコードが移るんですが、 このメッセージを回避する方法はないものでしょうか。 |
>このメッセージを回避する方法はないものでしょうか。 「ツール」⇒「オプション」の編集/検索タブにある、 アクションクエリ のチェックをはずせばメッセージはでないです。 ただし、他のアクションクエリにも影響がありますので、別の方法を 使った方がいいかな。 マクロなり、VBAなりでクエリを実行させれば、メッセージをださせなく することはできます。 マクロなら、メッセージの設定 アクションですね。 |
▼イケガミ さん: >>このメッセージを回避する方法はないものでしょうか。 > >「ツール」⇒「オプション」の編集/検索タブにある、 >アクションクエリ のチェックをはずせばメッセージはでないです。 > >ただし、他のアクションクエリにも影響がありますので、別の方法を >使った方がいいかな。 > >マクロなり、VBAなりでクエリを実行させれば、メッセージをださせなく >することはできます。 > >マクロなら、メッセージの設定 アクションですね。 DoCmd.SetWarnings False というのでできました。 ありがとうございました。 |