LoginSignup
0
0

More than 3 years have passed since last update.

【Access VBA】csvデータを取り込み、データベーステーブルを作成するプログラム

Last updated at Posted at 2021-03-04

はじめに

csvファイルを取り込み、Accessデータベースのテーブルを作成するVBAのサンプルプログラムを作った。

入力csvデータ

FieldData.csv
会員番号,名前,住所,登録日付

取り込まれたcsvデータは、テーブルのフィールド名になる。

サンプルプログラム

Option Compare Database

'csvファイルからフィールド情報を取得してテーブル作成
Sub Sample()

    Dim db As Database
    Dim Newtb As TableDef
    Dim tmp As Variant

    Set db = CurrentDb
  '作成したいテーブルの名前を入力
    Set Newtb = db.CreateTableDef("TestTable")

    Dim buf As String

  '取り込みたいcsvのパスを入力
    Open "C:\Folder\FieldData.csv" For Input As #1
        Do Until EOF(1)
            Line Input #1, buf
            tmp = Split(buf, ",", , vbTextCompare)

            '-------------------------------------------------------
            'フィールドのパラメータを設定する
            With Newtb
                .Fields.Append .CreateField(tmp(0), dbInteger, 6)
                .Fields.Append .CreateField(tmp(1), dbText, 10)
                .Fields.Append .CreateField(tmp(2), dbText, 255)
                .Fields.Append .CreateField(tmp(3), dbDate)
            End With
            '-------------------------------------------------------
            'フィールドのパラメータ設定をしないならこちらを使う(とりあえずテーブルを作成したい時など)
            'For i = 0 To UBound(tmp, 1)
                'Set fld = Newtb.CreateField(tmp(i), dbText, 255)
                'Newtb.Fields.Append fld
            'Next
            '-------------------------------------------------------

            'テーブルの作成
            db.TableDefs.Append Newtb

            DoCmd.OpenTable "TestTable", acViewDesign
        Loop
    Close #1

End Sub

結果

Access_Table.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0