エクセルのデータベース処理についての質問です。


現在Access(data.mdb)にレコード数で20万件ほどのデータが入っています。
これを新しいデータベースクエリ(MS Query)の設定等を使用してエクセルの方へ表示したいと考えています。
ところがこのままで実行するとExcelの最下行の65536行を突破してしまいエラー表示されてしまいます。
そこでSheet1の特定のセル上で条件(日付等)を指定してSheet2上に結果表示を行いたいと思います。

Sheet1
  何日から[20080601]
  何日まで[20080605]
    ↓
Sheet2
  20080601 A
  20080601 B
  20080602 A
  20080605 C

この様なサンプルが載っているURL等御座いますか?
MS Query上のSQL文等で括れば一定期間になるのは分かりますがExcelのセル上の任意の数値で結果を変化させたいです。
以上、宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/09/13 23:42:20
  • 終了:2008/09/20 23:45:03

回答(3件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/09/14 07:52:35

ポイント27pt

MS Query のパラメータの取得先を、年月日を代入したセルにしておけばどうでしょうか。各々のシートに設定する必要はありますが。

具体的な手順は下記を参考にしてください。

id:spyglass

回答有難う御座います、取得する事が出来ました。

有難う御座います。

ここからは別件の話しになりますが実際は260万件ほどのデータ加工となり1回取得するのに10秒程度かかりました。

同じ動作を連続で100回程度繰り返さないといけないので結構処な処理時間です。

これはAccessを使うのでかかるのでしょうか?

他のデーターベースソフトを使ってもExcelに反映する場合は致し方無いのでしょうか?

2008/09/14 11:04:42
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/09/14 14:22:02

ポイント27pt

#1のコメント:

同じ動作を連続で100回程度繰り返さないといけないので結構処な処理時間です。

Accessに限らず、何らかのデータベースからSQLで抽出してきてExcelへインポートするとなると、この時間を短縮するのは難しいでしょう。


処理時間を短縮したいのであれば、定石としては

  1. Access上で処理する
  2. 加工する必要があるデータだけに絞り込んでExcelにインポートする

の二択になります。

id:fonya3 No.3

fonya3回答回数238ベストアンサー獲得回数102008/09/15 15:22:10

ポイント26pt

> 同じ動作を連続で100回程度繰り返さないといけないので結構処な処理時間です。

>> 処理時間を短縮したいのであれば、定石としては

>>

>> 1. Access上で処理する

>> 2. 加工する必要があるデータだけに絞り込んでExcelにインポートする

>>

>> の二択になります。


あとは、Access側で検索キーになっている項目にインデックスを

追加する(設定していない場合)とかですかね。場合によっては

劇的に速くなることもあります。

ダミー:

http://www.2ones.com/geeklog_000/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません