比如我要创建字段“number”自动递增,用DAO的话就是Set field = object.CreateField("number", ?, ?),请问“?”处该添什么?

解决方案 »

  1.   

    DAO??用ADOX啊
    create table tname
    (
     id int identity(1,1) primary;
    )
      

  2.   

    用ADOX:
    '菜单“工程”-->"引用"-->"Microsoft ActiveX Data Objects 2.7 Library"Dim cat As ADOX.Catalog
     Set cat = New ADOX.Catalog
    cat.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path & "\newdata.mdb" + ";")
    MsgBox "数据库已经创建成功!"
    Dim tbl As ADOX.Table
    Set tbl = New ADOX.Table
    tbl.ParentCatalog = cat
    tbl.Name = "MyTable"'增加一个自动增长的字段
    Dim col As ADOX.Column
    Set col = New ADOX.Column
    col.ParentCatalog = cat
    col.Type = ADOX.DataTypeEnum.adInteger ' // 必须先设置字段类型
    col.Name = "id"
    col.Properties("Jet OLEDB:Allow Zero Length").Value = False
    col.Properties("AutoIncrement").Value = True
    tbl.Columns.Append col, ADOX.DataTypeEnum.adInteger, 0'增加一个文本字段
    Dim col2 As ADOX.Column
    Set col2 = New ADOX.Column
    col2.ParentCatalog = cat
    col2.Name = "Description"
    col2.Properties("Jet OLEDB:Allow Zero Length").Value = False
    tbl.Columns.Append col2, ADOX.DataTypeEnum.adVarChar, 25'增加一个货币型字段
    Dim col4 As ADOX.Column
    Set col4 = New ADOX.Column
    col4.ParentCatalog = cat
    col4.Type = ADOX.DataTypeEnum.adCurrency
    col4.Name = "xx"
    tbl.Columns.Append col4, ADOX.DataTypeEnum.adCurrency'增加一个数值型字段
    Dim col3 As ADOX.Column
    Set col3 = New ADOX.Column
    col3.ParentCatalog = cat
    col3.Type = ADOX.DataTypeEnum.adDouble
    col3.Name = "ll"
    tbl.Columns.Append col3, ADOX.DataTypeEnum.adDouble'设置主键
    tbl.Keys.Append "PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "id", "", ""
    cat.Tables.Append tbl
    MsgBox "数据库表:" + tbl.Name + "已经创建成功!"
    Set tbl = Nothing
    Set cat = Nothing代码可以直接运行测试
      

  3.   

    用SQL语句建表啊,ACCESS的自增字段用COUNTER如:CREATE TABLE TABLENAME
    (
    ID COUNTER NOT NULL,
    NAME CHAR (16) NULL,
    PRIMARY KEY (ID)
    );