Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


Excelから必要なデータをインポートする : Access裏技Tips



Accessデータは何も入力するだけのものではありません。Excelに必要なデータがあれば、これを利用する手があります。 ここでは、Excelデータをセル範囲をしてAccessテーブルにインポートする技を紹介します。

Excelからデータをインポートする

  1. 売上げデータが入力されたExcelファイル(売上げ.xls)を作成します。
  2. このファイルには、ID、納品日、取引先名、請求額データが入力されています。
  3. FunctionプロシージャExcelDataImportを作成します。
  4. このプロシージャは、TransferSpreadsheetメソッドを用いてExcelからデータをインポートします。
  5. 実行フォーム(frm_sample)を作成し、コマンドボタン(Cmdコマンド)を配置します。
  6. コマンドボタンのクリック時イベントを利用してインポートを実行します。

売上げExcelファイルの作成

売上げExcelファイルを作成します。

  1. Cドライブに、売上げ名のExcelファイルを作成します。
  2. 売上げシートを作成し、ID、納品日、取引先名、請求額データを入力します。

Functionプロシージャ ExcelDataImport の作成

Functionプロシージャ ExcelDataImport を作成します。
Function ExcelDataImport()

'On Error GoTo エラー

    Dim varac As Variant
    Dim varxls As Variant
    Dim strrange As String
    Dim strmsg As String

    varac = "tbl_売上げ" ' --- A
    
    varxls = "C:\売上げ.xls" ' ---B
    
    strrange = "売上げシート!A1:D10" ' --- C
    
    strmsg = "Excelファイル" & varxls & " を、Accessテーブル " & varac & _
             "へ、データ入力を行います。" & Chr(13) & _
             "Excelファイルの入力レンジは、 " & strrange & " です。"

    DoCmd.DeleteObject acTable, varac ' --- D
    If MsgBox(strmsg, vbOKCancel) = vbOK Then
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
                                        varac, varxls, True, strrange ' -- E
        MsgBox "データ入力は、正常に完了しました。"
    End If

    Exit Function

エラー:

    MsgBox "予期せぬエラーが発生しました。" & Chr(13) & _
           "エラー番号:" & Err.Number & Chr(13) & _
           "エラー内容:" & Err.Description, vbCritical
    Exit Function

End Function
解説
  1. Accessテーブルを指定します。存在していなければ自動的に作成します。
  2. Excelファイルを指定します。必ず、存在していなくてはいけません。
  3. データ入力のシート名とセル範囲を指定します。サンプルでは、A1:D10を指定します。なお、省略が可能です。省略した場合は、ワークシート全体がインポートされます。
  4. DeleteObjectメソッドを用いて、tbl_売上げテーブルを削除します。E…TransferSpreadsheetメソッドを用いてデータをインポートします。
今回のおすすめポイント

TransferSpreadsheetメソッド

データの入出力を行うメソッドです。引数acImportをacExportに変更し設定を変えるだけでエクスポート機能も利用できます。
また、このメソッドは、既存のデータに上書きするのではなく追加します。サンプルでは、事前にテーブルを削除しています。
なお、範囲の指定はインポートにのみ適用されます。

実行フォームの作成

実行フォームを作成します。

  1. 非連結フォームを作成します。
  2. コマンドボタンを作成します。

コマンドボタンのクリック時イベントプロシージャの作成

コマンドボタンのクリック時イベントプロシージャを作成します。

Private Sub Cmdコマンド_Click()

    Call ExcelDataImport ' --- A
    
End Sub
解説
  1. Call関数でFunctionプロシージャExcelDataImportを呼び出します。

動作確認

  1. 実行フォームをデザインビューからフォームビューに切り替えます。
  2. コマンドボタンをクリックすると確認メッセージが表示します。

  1. [OK]ボタンをクリックするとインポートが完了します。
  2. Accessテーブルtbl_売上げが作成され、データがインポートされているのを確認します。


関連ページ

ページの先頭へ 前ページへ戻る

 


Excelから必要なデータをインポートする : Access裏技Tips


 

-Microsoft Access Club-

cPanel / WHM コントロールパネル の操作方法を解説するWEBサイトです。
cPanelコントロールパネルの操作方法を解説中・・・。