【Access VBA】csvデータを取り込み、データベーステーブルを作成するプログラム
はじめに
csvファイルを取り込み、Accessデータベースのテーブルを作成するVBAのサンプルプログラムを作った。
入力csvデータ
FieldData.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
結果
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
Author And Source
この問題について(【Access VBA】csvデータを取り込み、データベーステーブルを作成するプログラム), 我々は、より多くの情報をここで見つけました https://qiita.com/kohi7777/items/4a22055eb5e2832ca7d8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .