データベース作成の準備
VBEメニューの「ツール」-「参照設定」をクリックし、参照設定ダイアログを開きます。
[参照可能なライブラリファイル]から Microsoft DAO 3.6 Object Libraly のチェックをONにします。
[OK]ボタンを完了し準備完了です。
図書マスターテーブルの作成
作成した図書マスターをAccessで開いた画面です。無事に作成できています。
VBAコード
下記VBAコードに変更してください。
Private Sub CommandButton1_Click()
Dim spath As String
spath = SelectFolder_FileDialog(ActiveWorkbook.Path)
If spath = "" Then
Exit Sub
End If
If Right(spath, 1) <> "\" Then
spath = spath & "\"
End If
MyMakeTosyomasterTable spath
End Sub
下記VBAコードを追加してください。
Private Sub MyMakeTosyomasterTable(sDir As String)
Dim db As Database
Dim tbdef As TableDef
Dim fld As Field
Dim idx As DAO.Index
' データベースを作成します
Set db = DBEngine.Workspaces(0).CreateDatabase(sDir & "図書データベース.mdb", dbLangJapanese)
'テーブルを作成します
Set tbdef = db.CreateTableDef("図書マスター")
'フィールドを作成します。
Set fld = tbdef.CreateField("図書ID", dbLong)
'オートナンバー型にします。
fld.Attributes = dbAutoIncrField
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("分類", dbText, 20)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("署名", dbText, 100)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("著書名", dbText, 30)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("出版社", dbText, 30)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("発行年月日", dbDate)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("ISBN番号", dbText, 20)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("値段", dbCurrency)
tbdef.Fields.Append fld
'主キーの作成
Set idx = tbdef.CreateIndex("PrimaryKey")
Set fld = idx.CreateField("図書ID", dbLong)
idx.Fields.Append fld
'Primaryプロパティをセット
idx.Primary = True
'インデックスを追加
tbdef.Indexes.Append idx
db.TableDefs.Append tbdef
'データベースを閉じます
db.Close
'終了処理を行います
Set fld = Nothing
Set tbdef = Nothing
Set db = Nothing
End Sub