ADOX フィールドのRequiredプロパティをFalseにしたい
アクセスです。
Sub test()
Dim cat As ADOX.Catalog
Dim tbl As ADOX.Table
Dim idx As ADOX.Index
Dim varRet As Variant
Dim strMsg As String
Set cat = New ADOX.Catalog
cat.ActiveConnection = CurrentProject.Connection
Set tbl = New ADOX.Table
tbl.Name = "test"
tbl.Columns.Append "氏名ID", adInteger '手作業で数値型のフィールドを作るとこれがデフォルトになる
tbl.Columns.Append "氏名", adVarWChar, 50
cat.Tables.Append tbl
主キーを作る
Set idx = New ADOX.Index
idx.Name = "Primary"
idx.PrimaryKey = True
idx.Columns.Append "氏名ID"
tbl.Indexes.Append idx
MsgBox tbl.Name & "テーブルを作成しました。"
Set cat = Nothing
End Sub
**********************************************************
上記のコードでテーブルを作ると、RequiredをTrueにしてないのに、
実際にテーブルにデータを入れてる時に、NULLにしようとすると、
**********************************************************
フィールドに必要なプロパティが True に設定されているため、
このフィールド '<フィールド名>' には Null 値は挿入できません。値を入力してください。
**********************************************************
となります。
Requiredプロパティの規定値は、False になってますが、
なぜか値を要求されてしまいます。
ADOXで上記のコードに追加してRequiredをFalse にする方法を教えてください。、
No.1ベストアンサー
- 回答日時:
当方、Access2010 です。
同じ結果になりました。。無理っぽいと思いつつGoogleと外人さんが教えてくれました。
http://www.pcreview.co.uk/forums/re-change-field …
tbl.Columns.Append "氏名ID", adInteger '手作業で数値型のフィールドを作るとこれがデフォルトになる
tbl.Columns.Append "氏名", adVarWChar, 50
tbl.Columns("氏名").Attributes = adColNullable '追加
では?
tbl.Columns("氏名").Attributes = adColNullable
を追加したら、うまく出来ました!
リンク先は英語なのですね。
それを理解できるnicotinismさんはすばらしいですね!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフィールド名に半角括...
-
Access 2010で実行時エラー3061
-
2つ目のレコードの値を取得す...
-
クリスタルレポート(8.5)の書式...
-
クリスタルレポートで文字列の...
-
ACCESSデータベースにV...
-
Access VBA 添付型フィールド
-
ADOをし使用して、Accessのテー...
-
クリスタルレポートで困ってい...
-
ACCESSで視覚的タイムテーブル...
-
FlexGridでのおかしな不具合・・。
-
AccessのDAOでフィールド名を配...
-
INT64対応のprintf系関数はあり...
-
Access クエリで変数を参照する...
-
ACCESSで日別集計をする場合
-
accessでフィールド追加のあと...
-
週の日数は7日ですが、これを表...
-
Access :ALTER TABLE で作成...
-
【Win32 API】 フックしたメッ...
-
C#で変数名の取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフィールド名に半角括...
-
DataTableに特定のフィールドが...
-
accessでフィールド追加のあと...
-
INT64対応のprintf系関数はあり...
-
2つ目のレコードの値を取得す...
-
Access 2010で実行時エラー3061
-
日付と文字列を条件としてDLook...
-
AccessのDAOでフィールド名を配...
-
SQLで複数のテーブルと結合した...
-
テーブルのデータ型の変更がで...
-
フィールド名をループの添え字...
-
クリスタルレポート(8.5)の書式...
-
AccessVBAで他テーブルのデータ...
-
Accessの画像挿入のVBAコード
-
アクセスでADO 並べ替えが適用...
-
NULLを含む文字列の結合で...
-
クリスタルレポートで文字列の...
-
ACCESSデータベースにV...
-
ノーツ:ユーザ名から別名を取...
-
Access クエリで変数を参照する...
おすすめ情報