膨大なデータをACCESSで操作する方法と注意点

このQ&Aのポイント
  • ACCESSで膨大なデータを操作する方法と注意点について解説します。データの数が140万件でフィールドは2つしかない場合、簡単な更新クエリはできるが複雑な更新クエリではできない状況が発生します。
  • 大量のデータの処理が必要な場合、データを分割して作業する方法が効果的です。オートフィルタを使用してデータを分割しようとしても、データの数が多いため正常に処理できないことがあります。
  • そこで、データの分割方法としては連番を振ってデータをコピーするか、他の方法を検討することが推奨されます。連番の振り方についてはさまざまな方法がありますので、自分の目的に合った方法を選択してください。ACCESSで膨大なデータを効率的に扱うためには、注意点やアドバイスも押さえておく必要があります。
回答を見る
  • ベストアンサー

膨大なデータをACCESSで操作したい

宜しくお願い致します。 ACEESSに140万のデータが入っています。 フィールドは2つしかありません。 簡単な更新クエリは出来たのですが ちょっと複雑な更新クエリにすると更新ができません。(更新しますか?と聞かれて"はい"を押しても変更されない)そこで、データを分割して作業しようと思い、とりあえずオートフィルタでNOを振ってから分割しようと試みたのですが、データが多い為か、オートフィルタNOが振れません。こういった膨大な量のデータをACCESSにおいて分割したいとき、なにかいい方法がありますでしょうか?自分としてはとりあえず連番を振ってデータをコピーするかしてデータを分けたいと思ってますが、どのように連番を振ればいいでしょうか。 そのほかなにかアドバイスがありましたらお願い致します。

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

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

とりあえず ACCESSで2Gのリミットに近い容量まで 使い切るやり方でやるとクエリーの処理によっては 2,3日かかります。 むかーし、気象解析で300万件のデータをAccessでやったことがありますが4日間かかった事もあり容量もトータルで4Gになってました。 適度にデータを分割させて処理させればよいかと思います 特に分割に際しては どーやっても同じなので問題は無いですが、処理を高速化させるならあらかじめインデックスの割り当て方やソートを考えておいた方がよさそうです<ここらへんは現物みてないのでなんともいえません

nekocya
質問者

お礼

ありがとうございます。大変ためになりました。

その他の回答 (1)

回答No.2

ふと昔、、、、物流センターで汎用機で処理されるdbを Accessでごり押し処理したことはあり その時は150万件でしたが 処理時間は5分くらいで 終わりましたよ<物流系なので項目は多い

nekocya
質問者

お礼

そうですか!参考になりました!

関連するQ&A

  • アクセスでデータの抽出をしたい・・・

    仕事でアクセスを使っているのですが、初心者でよく分かりません。 膨大な連番のデータの中から、例えば100~200のみを抽出するには どうすればいいのでしょうか? クエリで新規作成で・・・そのデータを選択して・・・ その後どうすればいいのでしょうか? アドバイスをお願いします。

  • ACCESSのデータを単一化したい

    あるテーブルにデータが10000件ほどあります。 そしてNOフィールドには数値が入っているのですが、 その数値は基本的にユニークですが、たまに同じ数値が入っています。 NOフィールドを単一化するクエリをくみたいのですが、どうしたらいいのでしょうか。宜しくお願い致します。

  • オートフィルタ抽出データに連番をつけるマクロ

    オートフィルタで抽出したデータに連番をふりたいと思っています。このサイトで調べた結果、オートフィルタをかけてのオートフィルでの連番入力はできないと知りました。 現在しようとしているのは   A  B  C 1 クラス NO 氏名   2 1    ○△ 3 2    □× 4 1    ★♪ というデータがあり、項目にオートフィルタをかけている状態です。クラスを抽出した場合にそのクラスでの通し番号(連番)を付けたいのです。SUBTOTAL関数だと、連番が表示されるのはオートフィルタで抽出している間だけです。SUBTOTALでつけられた連番を、オートフィルタを解除しても残しておくにはどうしたらよいでしょうか。やはりコピー&ペーストしかないのでしょうか?似たような質問が多々ありますが、コピー&ペースト以外の方法をご存知の方、どうか教えて下さい。

  • ACCESSでのひとつ前レコードの求め方について

    ACCESS2000にてDLOOKUP関数とDMAX関数を用いて一つ前のレコード内容フィールドを クエリにて作成しようとしております。下記の式を設定しクエリを実行すると一つ前の レコード情報(前レコードの ”終了時間”内容)は出力されるのですが、暫くすると "クエリ式 '連番' の構文エラー:演算子がありません" と表示されます。 上記エラーの対処方法を教えて頂けたら思います。 尚、該当の数式ですが 前終了時間: DLookUp("終了時間","訪問業務テーブル(更新後)","連番=" & DMax("連番","訪問業務テーブル(更新後)","連番<" & [連番])) となっております。 ”連番”は オートナンバー形式のもので 1から順番に振られており、この連番を元にひとつ前レコードを参照する様にしております。 上記式に使用されている フィールドのデータ型ですが (1)連番: オートナンバー型 (2)終了時間: テキスト型 となっております。 お手数ですがよろしくお願いします。

  • アクセスのクエリーについて

     アクセスのテーブルでオートナンバー型の設定がありますが、クエリーでそれに変わるような機能はあるでしょうか。クエリーである事柄を抽出した場合でも、フィールドに連番を付したいのです。  アクセス初心者です。VBAとかは使わないでできますか?

  • ACCESSでの重複レコードの削除

    ACCESSで、重複レコードを引っ張ってくるのは、重複クエリでやれましたが、逆に、重複レコード(1つのフィールド、或いは複数のフィールドに着目しての)の削除は、やれないのでしょうか? イメージしているのは、エクセルのオートフィルタでの「重複データの削除」です。 よろしくお願い致します。

  • Accessで連続データってできますか?

    Excelのオートフィルのように、Accessのレコードで連続データってできるんでしょうか?連続データ用のフィールドを一つ作って、日付順とか並び替えたあとにフィールドに更新をかけたいんですが・・・

  • ACCESS2000の重複クエリ

    よろしく、お願いします。 ACCESS2000+Win2000で使用しています。 ACCESS2000の”テーブルA”の”フィールドa”の”重複クエリ甲”の結果としてX、Y、Zというデータが出たとします。 そのうち、XのみにテーブルAの”フィールドb(Yes/No型)”にフラグを立てたいのですが、良い方法はありませんか? 私は重複クエリ甲に、更新クエリで更新する事は出来ませんよね? 甲と同じく”重複クエリ乙”を作って、乙は”集計”で先頭のみを出して、甲と乙の”不一致クエリ”で差分を出してみたりもしたのですが、更新クエリを使えない為に、フラグを立てられません。 何か良い方法を教えてください。 お願い致します。

  • 膨大な、量の 連番データを、作りたい

    膨大な、量の 連番データを、作りたい お世話になります。 初歩的質問かも、知れません 済みません お許し、ください。 ACCESS、 Libra officeの、Base、 等、 データベースソフトで 1~2×10^20位までの 連番数値データを 素早く、得たい の、ですが 如何した、ものか と、 思い倦ねて、います。 表計算で、生成し 持ってくる、にも 此の量と、なると 途方も、ない ような… どうぞ、ご指南を 宜しく お願い、します。

  • アクセスでデータを足すには、また、引くには?

    アクセスを使用していて、テーブルAにあるデータに、テーブルBにあるデータを足したいと思っています。 それぞれデータは”名前”のようなフィールドで、ひとつにまとめたいのですがクエリーでの表現が分かりません。SQLビューのようなやり方でも構いませんので、是非お願い致します。 また、もう一つですが、テーブルAにあるデータに、テーブルBにあるデータを引きたい思っています。こちらも”名前”のようなフィールドで、同じレコードは省きたいと思っております。 よろしくお願い致します。