- ベストアンサー
Access2003からExcel2003への出力
Access2003からExcel2003へデータを出力(エクスポート)したいのですが、 対象件数が65535行を超えるため、一括でのExcel出力ができません。 2回に分けてデータを出力するか、または何か別の方法でExcel2003に出力したいのですが、 その方法がわかりません。 どなたかお分かりになる方がおられましたら、効率の良い方法をご教示ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>Access のエクスポート ウィザードを使用すると、 >テーブル、クエリ、フォーム、ビューで選択したレコードなどの Access データベース オブジェクトを Excel ワークシートにエクスポートすることができます。 一番簡単なのは、クエリにて分割することだと思います。 >Access から Excel へのデータのエクスポートの詳細については、 >Access のヘルプを参照してください。 【ヘルプより】 手順1、クエリXXX1、クエリXXX2を作成する。 手順2、エクスポートするクエリを選択する。 手順3、ファイル(F)-エクスポート(E)をクリックする。 手順4、エクスポートを実行する。 この手順を2回繰り返せば二つのExcelファイルが作成されますよ。
その他の回答 (2)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
>一括でのExcel出力ができません。 http://office.microsoft.com/ja-jp/excel-help/HA010096300.aspx 一括でできなければ、分けるしかないと思います。
お礼
たびたびのご回答ありがとうございます。 質問内容を補足しますと、分割してExcel2003へ出力する場合、 1回目は60,000件、 2回目は残りのデータすべて(例えば、27,563件) を2ファイルもしくは2シートにエクスポートしたいのですが、 良い方法はありますでしょうか?
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
私は、Access から Excel へとは直接に出力することはしていません。 ・Access から Excel が起動時に呼び込むファイルを出力する。 ・Excel は起動時に Access から送られたファイルを表示する。 Private Type EmployeeRecord ID As Integer CName As String * 20 Address As String * 30 Phone As Long HireDate As Date End Type Private Sub XXXXXXXXXXXXXXXX Dim I As Long Dim J As Long Dim Emloyees As EmployeeRecord End Sub 例えば、膨大な100万人の社員名簿。 ・Emploee への読み込み=1レコード0.00001秒 ・ランダムファイルへの出力=1レコード0.000003秒 こういう想定ですと13秒で外部出力できます。(出力のみ確認済み) Excelへの読み込みは、1レコード当たり0.000003秒。この速さですから、30行づつ表示し、下段に必要な合計欄等というスタイルですと参照するのには問題ないかと思います。
お礼
早速のご回答ありがとうございます。 マクロはあまり使ったことがなくよくわからないので、 マクロを使わない別の方法は何かありませんでしょうか? 無理言ってすみません。
お礼
何度もご回答ありがとうございました。 早速、試してみます。