テキストファイルのインポート : Access

Access VBAでテキストファイルをインポートするには、DoCmd.TransferTextメソッドを使用します。



BackHome BackTips Backメニュー

[構文]
式.TransferText(TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage)

[引数]
TransferType : AcTextTransferType変換の種類を指定します。
  [ 定数 ]
  • acExportDelim カンマ、タブなど区切り記号つきエクスポート
  • acExportFixed 固定長エクスポート
  • acExportHTML HTMLエクスポート
  • acExportMerge Word差し込みデータエクスポート
  • acImportDelim カンマ、タブなど区切り記号つきインポート(既定値)
  • acImportFixed 固定長インポート
  • acImportHTML HTMLインポート
  • acLinkDelim カンマ、タブなど区切り記号つきリンク
  • acLinkFixed 固定長リンク
  • acLinkHTML HTMLリンク

SpecificationName : エクスポートの定義名
TableName : テーブルの名前
FileName : テキストファイル名
HasFieldNames : テキストファイルの1行目をフィールド名として使用する場合は、Trueに設定します。
HTMLTableName : HTMLファイルをインポートする場合指定します。
CodePage オプション : コードページの文字セットを示す長整数型のを指定します。


■ Accessサンプルソフト実行画面

「テキストファイルのインポート」ボタンをクリックすると、ファイル選択ダイアログが開きますので、インポートするテキストファイルを選択します。
テキストファイルインポートソフト

・インポートするテキストファイルの内容
阿賀野市
阿賀町
粟島浦村
出雲崎町
糸魚川市
魚沼市
小千谷市
行柏崎市
加茂市
刈羽村
川口町
五泉市

・インポートしたテーブル
テーブルが作成され、F1フィールドにデータが入っています。
インポートテーブル画像

・インポートするテキストファイルの内容(コンマで区切っています)
新潟県,阿賀野市
新潟県,阿賀町
新潟県,粟島浦村
新潟県,出雲崎町
新潟県,糸魚川市
新潟県,魚沼市
新潟県,小千谷市
新潟県,行柏崎市
新潟県,加茂市
新潟県,刈羽村
新潟県,川口町
新潟県,五泉市

・インポートしたテーブル
テーブルが作成され、F1フィールドとF2フィールドにデータが入っています。
2つのテーブルをインポートしたテーブル

■ Access VBA 実行コード

Option Compare Database

'ファイル選択ダイアログ
Public Function SelectFile_FileDialog() As String
    Dim dlgfolder As FileDialog
    Application.FileDialog(msoFileDialogFilePicker).Title = "ファイルを選択してください"
    Application.FileDialog(msoFileDialogFilePicker).InitialFileName = "c:\"
    Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = False
    If Application.FileDialog(msoFileDialogFilePicker).show = -1 Then
        'ファイルが選択
        SelectFile_FileDialog = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
    Else
        SelectFile_FileDialog = ""
    End If
End Function

Private Sub コマンド0_Click()
    Dim sfina As String
    'ファイル選択ダイアログ
    sfina = SelectFile_FileDialog
    If sfina <> "" Then
        'ファイルが選択されればインポート
        DoCmd.TransferText acImportDelim, , "T_新潟県2", sfina
    End If
End Sub

BackHome BackTips Backメニュー

Copyright(C) FeedSoft