MyTable.Name = TableName '设置新表名
Dim i As Integer
MyTable.Columns.Append "AuthID"
MyTable.Columns.Append "姓名"
For i = 0 To FieldsCount - 1
MyTable.Columns.Append FieldsName(i), adWChar
Next i
MyCatalog.Tables.Append MyTable -----------------------------------------------------------------
如何进一步设置呢?比如,设置authid为自动编号,其他字段允许为空
Dim i As Integer
MyTable.Columns.Append "AuthID"
MyTable.Columns.Append "姓名"
For i = 0 To FieldsCount - 1
MyTable.Columns.Append FieldsName(i), adWChar
Next i
MyCatalog.Tables.Append MyTable -----------------------------------------------------------------
如何进一步设置呢?比如,设置authid为自动编号,其他字段允许为空
如:
cnn.Execute "create table user_inf(id autoincrement,user_name varchar(10) not null,user_psw varchar(255) not null,user_purview varchar(50) not null)"autoincrement 就是自动编号。默认允许为空。 not null就是不允许为空。建立一个表用ADOX那么多的步骤太得不偿失了。
Dim pstr As String '定义该变量是为了后面的书写方便 pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '不能把这里的4.0改为3.51
pstr = pstr & "Data Source=" & FileName
Bulid.Create pstr '创建数据库
Set tbl = New Table
tbl.Name = "评议表项目" '表的名称
tbl.ParentCatalog = Bulid
tbl.Columns.Append "id", adInteger
tbl.Columns("id").Properties("AutoIncrement") = True '自动编号
tbl.Columns.Append "项目名称", adVarWChar, 50
Bulid.Tables.Append tbl呵呵,ADOX没有办法直接建立自动编号的字段,需要转一下:
tbl.Columns.Append "id", adInteger
tbl.Columns("id").Properties("AutoIncrement") = True '自动编号先建立一个adInteger的字段,然后改该字段的("AutoIncrement")属性为真就好了。
主要是:
ADOX没有办法直接建立自动编号的字段,需要转一下:
tbl.Columns.Append "id", adInteger
tbl.Columns("id").Properties("AutoIncrement") = True '自动编号先建立一个adInteger的字段,然后改该字段的("AutoIncrement")属性为真就好了。