| ' **********************************************
' EXCEL のパスを決定
' **********************************************
' 初期ディレクトリは省略しています
DbPath = Lbox.SaveFileName( "データベース作成", "EXCEL,*.xls" ,, "xls", "MyDB" )
if DbPath = "" then
MsgOk( "パス指定でキャンセルされました " )
quit
end if
' EXCEL ブックが存在している場合はごみ箱へ移動
' (OS の移動確認ダイアログが表示されます)
if Fs.IsFileExist( DbPath ) then
Fs.ShellDelete( DbPath )
end if
' **********************************************
' 接続
' **********************************************
' EXCEL は存在しないパスに接続してもエラーになりません
' が、テーブルを作成しないとブックも作成されません
Result = Database.Connect( 0, DbPath )
if Result <> "" then
MsgOk( Result )
quit
end if
' EXCEL は VARCHAR の桁数指定は無視されます
' INT や DATETIME も NUMBER と DATE に置き換えられます
' VARCHAR では、常に 255 になりますが、それは表示幅で
' 最大長ではありません
' 主キーは指定できません。
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 & ")"
' **********************************************
' SQL実行
' **********************************************
' Database オブジェクトはバッチ実行を前提としています
' ので、Query による実行では、成功か失敗かしか解りません。
' エラーの内容が必要な場合は、SQL を テキストファイルに
' 書き込んで Execute( ファイルパス, LOGファイルのパス )
' で実行します(エラーは LOG ファイルに書き込まれます)。
if not Database.Query( Query ) then
MsgOk("社員テーブルの作成に失敗しました")
end if
' **********************************************
' 接続解除
' **********************************************
Database.DisConnect
MsgOk("処理が終了しました")
| |