23

Access データベースに2 つのテーブルがあり、それらを Excel にエクスポートできるようにしたいと考えています。

テーブルを開いて File->Export... を実行し、フォーマットを選択してファイル名を入力することで、それを行うことができます。

ただし、この方法では、ユーザーが実際に名前を入力する必要があるため、ファイルの名前を間違えたり、間違った形式で保存したり、間違った場所に保存したりする余地があります。また、2 つのテーブルを 2 つの別々のワークブックにエクスポートする必要があります。

私ができるようにしたいのは、1つのテーブルを1つのワークシートに、もう1つのテーブルを別のワークシートに、両方とも同じExcelワークブックに自動的にエクスポートするボタンをフォームに作成することです。

それらを同じワークブックに入れることができない場合は、それで問題ありません。アクセスデータベースが保存されているのと同じディレクトリにそれらを自動的にエクスポートしたいだけです。

その方法を知っている場合、追加の特典として、名前をカスタマイズして日付を含めることができます。そうすれば、ディレクトリには履歴エクスポートも含まれます。何かアドバイス?

4

3 に答える 3

43

VBA を使用して、Access データベース テーブルを Excel ワークブックのワークシートとしてエクスポートできます。

Access データベースのパスを取得するには、CurrentProject.Pathプロパティを使用します。

現在の日付で Excel ブック ファイルに名前を付けるには、Format(Date, "yyyyMMdd")メソッドを使用します。

最後に、テーブルをワークシートとしてエクスポートするには、DoCmd.TransferSpreadsheetメソッドを使用します。

例:

Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True

これにより、Table1 と Table2 の両方が同じ Workbook に出力されます。

HTH

于 2009-12-04T21:57:16.613 に答える