| ' **********************************************
' MDB のパスを決定
' **********************************************
' 初期ディレクトリは省略しています
DbPath = Lbox.SaveFileName( "データベース作成", "MDB,*.mdb" ,, "mdb", "MyDB" )
if DbPath = "" then
MsgOk( "パス指定でキャンセルされました " )
quit
end if
' MDB が存在している場合はごみ箱へ移動
if Fs.IsFileExist( DbPath ) then
Fs.ShellDelete( DbPath )
end if
' **********************************************
' DB 作成
' **********************************************
' MDB の作成は ADOX を使用します
Set Adox = WScript.CreateObject("ADOX.Catalog")
on error resume next
Adox.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & DbPath & ";"
if Err.Number <> 0 then
MsgOk( Err.Description & ":" & DbPath )
quit
end if
on error goto 0
' **********************************************
' 接続
' **********************************************
Result = Database.Connect( 1, DbPath )
if Result <> "" then
MsgOk( Result )
quit
end if
' MDB の VARCHAR は UNICODE なので、氏名には 50 文字のデータがセット可能です
Query = "create table [社員テーブル] ("
Query = Query & "[社員コード] VARCHAR(4)"
Query = Query & ",[氏名] VARCHAR(50)"
Query = Query & ",[所属] VARCHAR(4)"
Query = Query & ",[性別] INT"
Query = Query & ",[給与] INT"
Query = Query & ",[手当] INT"
Query = Query & ",[作成日] DATETIME"
Query = Query & ",[更新日] DATETIME"
Query = Query & ",primary key([社員コード])"
Query = Query & ")"
' **********************************************
' SQL実行
' **********************************************
if not Database.Query( Query ) then
MsgOk("社員テーブルの作成に失敗しました")
end if
' **********************************************
' 接続解除
' **********************************************
Database.DisConnect
MsgOk("処理が終了しました")
| |