我一般是做一个空的mdb文件,然后使用filecopy来建立新的文件,呵呵

解决方案 »

  1.   

    '建MDB文件
    Set db = DBEngine.CreateDatabase("db6.mdb", dbLangGeneral, dbVersion_0)Set tbl = db.CreateTableDef("Temp")
    db.Execute "Select Temp.* into NewTable from Temp"db.TableDefs.Delete tbl.Namedb.Close'编辑字段
       Dim ADO_Rset As New ADODB.Recordset
       Dim AdoStr As String
       '如果你的数据库不是 2000或以上的.那么Microsoft.Jet.OLEDB应该是3.0
       AdoStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db2.mdb;Persist Security Info=False"
       With ADO_Rset
          .ActiveConnection = AdoStr
          .CursorLocation = adUseClient
          .CursorType = adOpenStatic
          .LockType = adLockBatchOptimistic
          '修改"姓名"字段
          .Source = "ALTER TABLE table1 ALTER COLUMN 性别 BIT"
          .Open
          '增加"性别"字段
          .Source = "ALTER TABLE table1 ADD 籍贯 BYTE"
          .Open
          '删除"籍贯"字段
         ' .Source = "ALTER TABLE table1 DROP COLUMN 字段1"
         ' .Open
       End With
       Set ADO_Rset = Nothing
    Set tbl = NothingSet db = Nothing
      

  2.   

    DAO的方法楼上说了,我补充一下ADOX的方法
    '引用 Microsoft ADO Ext. 2.x for DDL and Security
    Private Sub Command1_Click()
      Dim catalog1 As New ADOX.Catalog
      catalog1.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\new.mdb"
    End Sub
      

  3.   

    '建MDB文件及其表
    Dim dbsNorthwind As Database
           Dim tdfNew As TableDef
           MyPath = getapppathparent + "database\"
           Set dbsNorthwind = OpenDatabase(MyPath & "main.mdb", False, False, ";pwd=" & DataBasePassword)
           Set tdfNew = dbsNorthwind.CreateTableDef("TableForstateInFilter")
           With tdfNew
             .Fields.Append .CreateField("state", dbText)
             .Fields.Append .CreateField("TypeForChangeDailyShift", dbText)
             .Fields.Append .CreateField("ID", dbInteger)
           End With
          dbsNorthwind.TableDefs.Append tdfNew