- ベストアンサー
Accessについて教えてください。
マイクロソフトアクセスを使いたいのですが、まったくの初心者です。 使い方が全くわかりません。 120万件のデータの重複削除をしたいのですが、やり方わかる人いますか? エクセルで言う 「データ」→「フィルタ」→「フィルタオプションの設定」→「重複するレコードは無視する」 と同じことができればいいのですが、可能でしょうか? ちなみにデータは1列のみです。 よろしくお願い致します!!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>ちなみにデータは1列のみです。 これを幸いに SQLにはDISTINCTというのがある。 アクセスの選択クエリで一旦全レコードを出して、その後 表示ーSQLビューの画面で SELECT DISTINCT [氏名] FROM 生徒2; に変えて、メニューのクエリー実行、で実行すると 氏名 (フィールド) 山田 小野 竹下 木下 になった。 元のテーブル 生徒2は 氏名 フィールド 山田 木下 小野 竹下 海野 山田 竹下 です。 これでうまく行かないか、元のデータの一部の少数例ででもテーブルを作ってやってみては。 http://www.pursue.ne.jp/jouhousyo/SQLDoc/select08.html ーー ココへ質問する前に、WEBで 「Access 重複 削除」などで調べて勉強したら。 沢山記事がある。
その他の回答 (2)
- Dxak
- ベストアンサー率34% (510/1465)
> クエリを作成して「固有のレコード」を「はい」に変更して、 > 【クエリ1】として保存しました。 を実行させれば、クエリの結果は、重複したレコードは無いよ クエリを表示させて、コピー&ペーストで貼り付けるなり、 今、選択クエリになってるから、メニューで「クエリ」-「テーブル作成」で、テーブルに変えるなり、クエリを開いていない状態で、「右クリック」-「エクスポート」でも、外部に出せるよ
補足
テスト用のファイルを作ったりして実行してみたのですが、クエリを実行しても重複削除ができませんでした。 何かしらの設定ミスでしょうか? また、私のパソコンのスペックのせいかもしれませんが、フィールドをコピーしようとすると、65000件までしかダメって言われちゃいます。 クエリをエクスポートしようとすると、エラーが出てしまいます。 データ量が1000万件くらいになってくると、スペックの悪いパソコンでは難しいですかね?
- Dxak
- ベストアンサー率34% (510/1465)
> まったくの初心者です。 > 使い方が全くわかりません。 クエリを作成、「表示」-「プロパティ」-「固有のレコード」を「はい」にすれば終わり、後は、テーブル作成なり、エクスポートをすれば、終わりですが・・・ 使い方が、全く判らない状況で、クエリを作成って判る? データは、Accessのテーブルになってるのかな?
補足
ご回答ありがとうございます。 クエリを作成して「固有のレコード」を「はい」に変更して、【クエリ1】として保存しました。 その後の使い道がわかりません・・・。 データは120万件入っているテキストファイルをインポートしてテーブルになっています。 クエリの新規作成で「重複クエリウィザード」で作成して、なんとか重複しているデータを抽出できました。 次に「不一致クエリウィザード」で元データを重複抽出データを比較して重複していないデータを抽出しました。 で、それぞれのデータをコピーしてテキストデータにコピペしたんですけど、たぶんこれで大丈夫だと思います。 ただ、スマートじゃないですよね? Dxakさんの教えてくれたやり方で、保存したクエリを使用するにはどうしたらいいでしょうか? 今日、初めてAccessを触ったので理解するのに時間がかかってしまうと思うのですが・・・。 恐縮ですがお願いいたします。
補足
ご回答ありがとうございます。 マクロとSQLはちょっと避けてました。 SELECT DISTINCTでうまく行きました! ただ、データが10万件のファイルが100個くらいあるので、フリーズしたりエラーになったりしてしまいます。 各ファイルにも重複がたくさんあるので、UNIONで結合してから重複削除したいのですが、なかなかうまくいきません(UNIONがうまく機能させられない・・・) これから勉強していきたいと思います・・・。