- ベストアンサー
アクセスとエクセルの連携について
アクセスのデータをエクセルに移動できますか?方法があればぜひ教えてください!よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
'AccessVBAで書くとしたら・・・↓(97/2000で動きます。XPは知りません!) Dim RetVal As String 'Shellの変数宣言 Dim vPath As Variant '引数(Path)の変数宣言 'まずAccessのテーブル「TestData」をCドライブの下にあるTest.xlsにインポート DoCmd.TransferSpreadsheet acExport, , "TestData", "c:\Test.xls" vPath = "c:\Test.xls" RetVal = Shell("""" & "C:\Program Files\Microsoft Office97\Office\EXCEL.EXE" & """" _ & """" & vPath & """", 1) 'Accessを閉じる。 Application.Quit '以上でAccessのテーブルをExcelにインポートしてExcel起動までです。 '適当なフォームにコンボボックス(ボタン)を1つ作って「クリック時」のクラス 'モジュールにカット&ペーストしてみてください。 '注意!「C:\Progr~1\Micros~1\Office\EXCEL.EXE」はインストールした端末 'により異なりますので、デスクトップ上にAccessのショートカットがあれば 'プロパティを開いて「リンク先を探す」等で探してください。もしくはWindows 'の検索で「*Access*」等で探してください。 'Excel側のMAXレコードを超えなければErr無くできるはずです。 'わからなかったらまた質問してください。(暇な時に返事します。)
その他の回答 (2)
- kenken0001
- ベストアンサー率69% (51/73)
少量でしたら、コピーして貼付けられます。 大量でしたら、クエリとマクロで可能です。 マクロには、出力、エクセル形式で という指定ができますので クエリで希望のデータ、あるい全部を 指定してマクロに設定すれば 自動で出力します。 ただ、エクセルには、データ数に制限があります。 MAX6万件ほど。 出力時には、これを超えないような 条件を設定して、必要なら分割して出力します。 エクセルからも条件が整えばアクセスのデータを 引き出すことが可能です。 何かありましたら、質問ください。
お礼
ご回答ありがとうございます。エクセルとアクセスが連携すると便利ですね。
- gonta_goma
- ベストアンサー率50% (37/73)
Accessの「ファイル」ー「エクスポート」でファイルの種類をExcelにしてテーブルを保存すれば良いと思います。
お礼
早速のご回答ありがとうございました。一度試してみます!
お礼
ご回答ありがとうございます。とても細かく説明していただき、とても一般人とは思えません。とてもそんなに知識があるとは、うらやましいです。