我用代码写:
Private Function tb_num(ByRef tb_name() As String)
Dim dbase As Database
Dim m As Long
Dim tbldef As TableDef
Set dbase = OpenDatabase(App.Path & "\database\" & database_niandu & "cbasedatadatabase.mdb") 'App.Path & "\database\" & database_niandu & "cbasedatadatabase.mdb"
For Each tbldef In dbase.TableDefs
tb_name(m) = tbldef.name
m = m + 1
Next
End Function但提示错误!!可能因为我的数据库是ACCESSXP,以上代码只能用与ACCESS97,是否?如果是,如何解决?

解决方案 »

  1.   

    Private  Sub  Form_Load()  
    Dim  adoCN  As  New  ADODB.Connection              '定义数据库的连接存放数据和代码Dim  rstSchema  
    Dim  strCnn  As  New  ADODB.Recordset  
                 
       str1  =  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\NWIND.MDB;Persist Security Info=False"
      
       adoCN.Open  str1  
             
       Set  rstSchema  =  adoCN.OpenSchema(adSchemaTables)  
         
       Do  Until  rstSchema.EOF  
               out  =  out  &  "Table  name:  "  &  _  
                   rstSchema!TABLE_NAME  &  vbCr  &  _  
                   "Table  type:  "  &  rstSchema!TABLE_TYPE  &  vbCr  
               rstSchema.MoveNext  
       Loop  
       rstSchema.Close  
         
       adoCN.Close  
    Debug.Print  out  
    End  Sub  
    ---------------------------------------------------------------  
     
    sql  server:  
     
    select  name  from  sysobjects  where  xtype='u'  
     
     
    mysql  :  
       show  tables  
     
      

  2.   

    Set rstSchema = adoCN.OpenSchema(adSchemaTables)是什末意思??请教!!!
      

  3.   


     for SQL Sever
    ********************************************
       dim cnn as adodb.connection
       dim cat as adox.catalog
       cnn.open "自己写"
       cat.activeconnection=cnn
       
       那么cat.tables(index)就是数据库里面所有表的集合
    用cat.tables(index).name就行 
      

  4.   

    可以利用数据控件:
    将它的Databasename属性设为你想提知表的数据库。
    然后用其它控件绑定数据。
    如用TextBox.
    则在它的Datasource属性中,你便知道你选的数据库中的表名了。
    数数下拉显示,,便是表的个数。
      

  5.   

    这是因为数据库的驱引擎不持支access97以上版本的数据库。
    有两种方法来解决:
    1.要安装SP5补丁。
    下载地址:http://www.dapha.net/down/list.asp?id=1353
    或者直接到微软网上下载一个mdac_typ.exe文件安装一下。(最新的ADO驱动引擎)
    2.你可以用ACCESS将2000版的数据库的转换为97版的。打开ACCESS-->“工具”-->“数据库实用工具”-->“转换.........”你的程序中用到驱动引擎jet3.5的话,那么在安装过mdac_typ.exe文件后你就将jet3.5引擎改成jet4.0引擎。