Dim newtable As String
Dim newdb As Database Case 1
newtable = InputBox("Please intput the name!", "Create tablename")
Set newtb = newdb.CreateTableDef(newtable)
怎么運行后不能往newdb數据庫添加數据表?

解决方案 »

  1.   

    还是直接执行建表的SQL语句吧
    CREATE TABLE TABLENAME
    (
    ID NUMERIC(10,0) NOT NULL,
    NAME VARCHAR(16),
    PRIMARY KEY(ID)
    )
    你的语句只写了个表名,字段与字段类型一个也没有,怎么能建上表呢,估计是没有写全,对DAO不太熟悉!!
      

  2.   

    ﹕) 是. 我剛學VB. 我用的是ADODC工具. 
    我想問. 新建一個數据庫后. 馬上建數据表. 在寫字段等等. 這樣可以嗎?
      

  3.   

    射天狼大哥: 我在VB6.0編程實例大制作的書本上(冶金出版) p286頁上看到了. 關于數据庫的操作.  有一段是這樣的:
    。數据表的建立
    數据庫是由一個或几個表組成的. 在創建了數据庫對象后.應該創建表對象(TableDef對象),
    語句如下:
    Set tabledef=database.createTableDef(name,attributes,source,connect)
    我按照他的意思做了. 怎么不能創建數据表?
    今天看了書.書本上沒有說建立表時候一定的建立字段等.
    我還不大明白. 請各位賜教.
      

  4.   

    可以动态建立数据库,表,字段
    建议使用ado对象或者sql语句创建
      

  5.   

    謝!我是用ADO工具的. 數据庫顯示用Datagrid.
    請問我能否按照書上說的那樣直接用
    Set tabledef=database.createTableDef(name,attributes,source,connect)
    建表嗎?
      

  6.   

    再加上newdb.Tables.Add(newtb )
      

  7.   

    謝!我是用ADO工具的. 數据庫顯示用Datagrid.引用微软 ADO Ext.2.6 for dll and Security
    ms acticex data object 2.6 library
      
    在VB程序中删除、增加、修改Access数据库的查询和表结构;
    采用ADO直接连结Access数据库Sub CreateDatabase()
    Dim cat As New ADOX.Catalog
    cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Password=aaa;Data Source=c:\new.mdb;" 
    End SubSub CreateTable()
    Dim tbl As New Table
    Dim cat As New ADOX.Catalogcat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Password=aaa;Data Source=c:\new.mdb;" 
    tbl.Name = "MyTable"
    tbl.Columns.Append "Column1", adInteger
    tbl.Columns.Append "Column2", adInteger
    tbl.Columns.Append "Column3", adVarWChar, 50
    cat.Tables.Append tbl
    End Sub