ms-access - 使用 ADOX 在 Access 中添加列时如何设置所需的属性?

标签 ms-access vba

我有以下脚本,用于向 Access 数据库中添加列和表。我不知道如何将该列的“必需”属性设置为“否”,默认值为"is"。这是我的脚本:

Option Compare Database

Function AddColumns()
'Purpose:   Show how to add fields to a table, and delete them using ADOX.
Dim cat As New ADOX.Catalog
Dim tbl As ADOX.Table
Dim col As New ADOX.Column

Set cnn = CreateObject("ADODB.Connection")

cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _
  "Data Source=\\network\drive\TestDB.accdb; Jet OLEDB:Database Password=testing; "

'Initialize
cat.ActiveConnection = cnn
Set tbl = cat.Tables("Test_Table")

'Add a new column
With col
    .Name = "Test_Column"
    .Type = adVarWChar   'Decimal type.
    '.Precision = 28     '28 digits.
    '.NumericScale = 8   '8 decimal places.

End With
tbl.Columns.Append col
MsgBox col.Name & " successfully added"
Set col = Nothing
'Debug.Print "Column added."


'Clean up
Set col = Nothing
Set tbl = Nothing
Set cat = Nothing

End Function

最佳答案

您需要使用Attributes Property (ADOX)

例如

With col
   ...
   .Attributes = adColNullable
   ...
End With

关于ms-access - 使用 ADOX 在 Access 中添加列时如何设置所需的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7585509/

相关文章:

html - 从 VBA 代码中请求带有 UTF-8 字符的 URL

vba - 如何列出 Access 数据库中的 DataMacro 对象?

mysql - MS Access 前端/MySQL 后端兼容和推荐的数据类型

sql - 通过具有日期范围的 Access 查询来限制组

excel - 昏暗的 ws 作为工作表集 ws=ActiveSheet 给了我 "Type Mismatch"

python - 从 VBA 调用 python 脚本

sql - 日期转换错误——MS Access前端查询sql后端

vba - 范围已变成表格,宏将无法运行

xml - 返回 XML 文件中的所有节点,即使它们为空

vba - 使用查找功能时出错