Accessで重複データの削除方法を教えてください

このQ&Aのポイント
  • Accessのテーブルにおいて、重複データがある場合の削除方法を教えてください。ダブった2レコードで消す方のレコードは[日付2]の入っていない方を削除します。
  • Accessのバージョン2000を使用しています。[年度]と[氏名]と[日付1]が重複しているレコードを削除したいです。
  • 重複データの削除に困っています。Accessのテーブルで、[年度]と[氏名]と[日付1]がダブっているレコードの一方を削除したいです。
回答を見る
  • ベストアンサー

Accessで重複データの削除について

初歩的かもしれないですが、テーブルにおいて、重複データがある場合の削除の仕方を教えてください。 例えば下記のようなデータの入っているテーブルがあるとします。 [年度] [氏名] [日付1] [日付2] 2001 一郎   1/1 3/1 2001 次郎 1/2 2001 三郎 1/2 2001 三郎 1/2 3/1 2002 一郎 4/2 2002 一郎 4/2 7/1 このテーブルで[年度]と[氏名]と[日付1]がダブっているレコードの一方を削除したいのです。ダブった2レコードで消す方のレコードは[日付2]の入っていない方を削除します。 どうすればよいか分かりません。。教えてください。 よろしくお願いします。 (Accessのバージョンは2000です。)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

重複クエリーを使用して、[日付2]のフィールドをNULL指定で抽出して確認し、選択クエリーを削除クエリーに変えて実行すると消える筈ですが・・・ 重複クエリーは、ウィザードで作成できると思いますよ

reitty
質問者

お礼

ありがとうございました。まだ試してないのですが、できそうです。まずはお礼まで。。本当にありがとうございました!!

関連するQ&A

  • エクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか?

    エクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか? たとえばA1~A100に氏名が入力されている中に鈴木一郎,佐々木次郎,高橋三郎など重複して氏名が入力されているとします。どの氏名が重複入力されているか不明なので,オートフィルターで抽出するのはチョット不便です。 この場合,鈴木一郎,鈴木一郎,佐々木次郎,佐々木次郎,高橋三郎,高橋三郎と言うように上から順番に重複している氏名を抽出して表示する関数はありますか?

  • ACCESS 重複データ削除の順番について

    追加クエリを使って重複データを削除する時に、削除されるデータについて質問です。 重複レコードを含むテーブルの構造のコピーを作成し、重複レコードを含むすべてのフィールドの主キーを作成して、元のテーブルから新しいテーブルへの追加クエリを実行して、重複レコードを一括削除をしています。 [操作についての参考URL] http://support.microsoft.com/kb/879852/ja =========================================== (テーブル) [ID]  [クラス]  [名前]   [時間]     1     A     ああ   11:00 ←重複 2     B     鈴木   12:00    3     C     アア   13:00     ←重複  4     A     ああ   14:00 ←重複 5     B     森    15:00   6     C     アア   16:00     ←重複  7     B     青山   17:00   8     C     アア   18:00     ←重複     9     A     ああ   19:00 ←重複 =========================================== 上記のようなテーブルで「クラス」と「名前」の2つのフィールドを主キーにした場合、 「A」の「ああ」さんと、「C」の「アア」さんが各3件ずつ重複しています。 しかし、「ID」と「時間」はそれぞれ違っています。 このような場合に、削除されないデータと削除されるデータの違いは何なのでしょうか? ACCESSの仕様でとか、レコードの若い番号順で削除されるとか、明確なルールが あれば教えていただけると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • アクセス関数を使って、重複チェック

    アクセス2003を使っています。 ある講座の受講者のデータが入っているデータベースを作ろうと考えています。 その講座には受講者が実際に重複して受講する人がいます。 重複して受講しているかどうかを、「選択クエリ上の関数」を使って調べたいです。 具体的には  氏名  受講月 山田太郎 2009/1 佐藤一郎 2009/2 山田次郎 2009/3 佐藤一郎 2009/4 というデータベースがあり、佐藤一郎が重複しています。(受講月は重複していません) これをクエリを使って、  氏名  受講月 山田太郎 2009/1 佐藤一郎 2009/2 重複 山田次郎 2009/3 佐藤一郎 2009/4 重複 というクエリを作りたいです。 どうすれば良いでしょうか?

  • Accessで重複したデータを削除したい。

    AテーブルとBテーブルがあります。AテーブルとBテーブルのフィールド名は同じですがデータはそれぞれ違います。AテーブルとBテーブルにあるデータを一つにまとめたいのですが、その際に、 「AテーブルとBテーブルの間で重複したデータがあるのでそれを削除したい。」のですが、手順としてどのような方法がスマートなのでしょうか。 (1)BテーブルをAテーブルに追加クエリで追加する。 (2)Aテーブルで重複クエリを作成し、重複しているデータを表示する。 ・・・・とここまで考えたのですが重複しているデータをどのように削除していけばいいかわかりません・・・。根本的にやり方が間違っているのでしょうか。どなたか詳しい方、いい方法を教えてください。よろしくお願い致します。

  • accessで重複データの削除について

    accessというよりSQLについてなのかと思いますが、教えていただけないでしょうか。 重複するIDがあり、1件を除いて他のデータを削除してデータを抽出したいです。 抽出条件としては、[年月日]カラムがあるため、日付が一番直近のものを残したいです。  ※こちらも重複しております。 また、[フィルタ]カラムが「2」のレコードのみを対象としたいと思っています。 accessの場合、重複クエリを用いるのかと思い、クエリウィザードから作成しましたが 一意とはなりませんでした。 SELECT テーブル1.[共通ID], テーブル1.[連番], テーブル1.[郵便番号], テーブル1.[住所], テーブル1.[担当者名], テーブル1.[年月日], テーブル1.[フィルタ] FROM テーブル1 WHERE (((テーブル1.[共通ID]) In (SELECT [共通ID] FROM [テーブル1] As Tmp GROUP BY [共通ID] HAVING Count(*)>1 )) AND ((テーブル1.[フィルタ])=2)) ORDER BY テーブル1.[共通ID], テーブル1.[年月日] DESC; distinctも使ってみましたがうまくできませんでした。 何が原因でしょうか。 申し訳ありませんがご教示いただきたくお願いいたします。

  • Oracle  重複データの削除の仕方について教えて下さい

    お世話になります。 最近データベースを触り始めた初心者です。 色々見たのですが、分からなかった為、教えて下さい。    テーブル名:table1   顧客名    郵便番号  受注日付   customer_nm  post_no  jutyu_ymd  -------------------------------------------- (1) 鈴木一郎    1111111  2004/01/05    (2) 鈴木一郎    1111111  2003/07/01     (3) 佐藤花子    2222222 2002/09/30 (4) 佐藤花子    2222222  NULL  上記のような、顧客テーブルがあったとします。 顧客名と郵便番号が同一だけれど、日付が違う為、重複 データとなってしまっています。 日付の古い方を削除、またNULLの場合は日付のある方を 残したいと考えています。 (つまり、上の場合は(1)と(3)を残したいという事です。) どのようにして条件を指定すれば良いのかが分かりません。 どなたか、よろしくお願い致します。

  • accessのデータで重複している行を削除したい

    accessのテーブルで、データシートに顧客のデータが入っています。 そこに、まったく同じデータが存在していますので、それを削除したい のですが、簡単に抽出して削除する方法等あるのでしょうか?? 重複クエリを試してみましたが、ちょっと違うようなので、 なにかいい方法を教えてください。 初歩的な質問で申し訳ありませんがよろしくお願いいたします。

  • Access2000で重複データに・・・

    Access2000の重複データの処理について質問です。 あるフィールドの重複レコードを検索し、該当するレコードの別フィールドに「●」をつけようとしています。ただ、重複する最初のレコードには「●」をつけたくないのです。 例えば  aaa ・・・ (1)  bbb  aaa ・・・ (2)  ccc  aaa ・・・ (3)  eee というフィールドだった場合、(1)には「●」をつけずに(2)以降にのみつけたいのです。 重複クエリで重複レコードを抽出して重複テーブル作成→重複テーブルと元テーブルを組み合わせて更新クエリ作成という方法でやったのですが、そうすると(1)にも「●」がついてきます。(当然ですが・・・) 何か名案があれば教えてください。 やはり、VBAを使わないと無理でしょうか・・・?

  • 重複データの一方を削除するSQLは?

    2つのテーブルを1つにするとき、 2つのテーブルに同じデータが含まれていたため、 重複データが、いくつか出来てしまいました。 まったく同じものです。 新しく出来たテーブルから、 同じものを、検索して、 一方を削除したいのですが、 どのような方法が、可能でしょうか。 (そもそも、重複となるデータを除いて、 2つのテーブルをひとつにする方法は、 あるでしょうか。) よろしくお願いします。 ちなみに、データベースはAccessです。

  • Accessで一致データを抜いて項目をずらす方法

    Access2000を使用して、テーブル1のフィールド2~5で、テーブル2と一致したフィールドを抜いて項目をシフトさせたいのですが、どのような方法があるのでしょうか。 <元テーブル>    フィールド→ 氏名, 名1, 名2, 名3, 名4 ・テーブル1の項目 山田,花子,次郎,三郎,四郎           鈴木,五郎,六郎,七朗,和子           佐藤,和子,一郎,太郎,四郎 ・テーブル2の項目 山田,花子           鈴木,七朗           鈴木,和子          佐藤,一郎           佐藤,四郎           佐藤,和子 <変換後テーブル>テーブル1を基準として   フィールド→ 氏名, 名1, 名2, 名3, 名4           山田,次郎,三郎,四郎,null           鈴木,五郎,六郎,null,null           佐藤,太郎,null,null,null 分りずらい説明で申し訳ありませんが、宜しくお願いします。

専門家に質問してみよう