mdbファイルは作成できましたが、テーブルに作成したフィールドのプロパティの「値要求」を「なし」に設定したいのですが出来ません。長さ0の文字列を許可するプロパティは下記で「はい」にできるので
col.Properties("Jet OLEDB:Allow Zero Length") = True
値要求は「Nullable」?だと思い
col.Properties("Nullable") = True
としましたがエラーで進みません?ご存知の方がいらっしゃいましたらご教授願います。
たとえば
tbl.Name = "アイテムリスト"
cat.Tables.Append tbl
col.Name = "Field1"
col.Attributes = adColNullable
tbl.Columns.Append col
ありがとう御座いました。できました。
マルチポストした以上、
ポストした全てのサイトに対し、
どうやって解決したかも含めて
結果報告をされることを期待します。
他のサイトであなたの質問をみて、
いまだに答えを考えてくれている人がいるかもしれませんし、
あなたと同じ問題をかかえていて、
解決方法が載るのを待っている人が
いるかもしれませんので。
ご回答いただいたコードそのままで作成できました。
私のコードでは、下記のとおりです。
・mdbファイルの新規作成
・テーブルの作成
・フィールドの作成
・フィールドの属性 値要求 なし
長さ0の文字列を許可する はい
型 オートナンバー型
を行っています。
'データベースファイルの新規作成
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim col As New ADOX.Column
Dim strConnect As String
' ADOコネクション文字列の指定
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFile & ";Jet OLEDB:Engine Type=5;"
'データベースの作成
cat.Create strConnect
'新規テーブルの作成
tbl.Name = "アイテムリスト"
cat.Tables.Append tbl
'フィールド ID
col.Name = "ID"
col.Type = adInteger
col.ParentCatalog = cat
col.Properties("Autoincrement") = True
tbl.Columns.Append col
Set col = Nothing
col.Name = "氏名"
col.Type = adWChar
col.Attributes = adColNullable
col.ParentCatalog = cat
tbl.Columns.Append col
Set col = tbl.Columns("氏名")
col.Properties("Jet OLEDB:Allow Zero Length") = True
確認しました。
Thanks !
ツイート | ![]() |