人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

現在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のセル上の任意の数値で結果を変化させたいです。
以上、宜しくお願いします。


●質問者: spyglass
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:access Excel MDB MS SQL
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●27ポイント

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

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

◎質問者からの返答

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

有難う御座います。

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

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

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

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


2 ● pahoo
●27ポイント

#1のコメント:

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

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


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

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

の二択になります。


3 ● fonya3
●26ポイント

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

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

>>

>> 1. Access上で処理する

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

>>

>> の二択になります。


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

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

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

ダミー:

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ