我要做一个数据导入导出的程序,要读取sqlserver或access库中的所有表
我是用ado做的,在线等待

解决方案 »

  1.   

    '----------------------------------------------------------------------------
    '
    'Author:lihonggen0
    'Date:2003-6-19
    '功能:获取access库中表的个数及表的名称
    '用ado怎样实现
    '工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
    '----------------------------------------------------------------------------
    Private Sub Form_Load()
    Dim adoCN   As New ADODB.Connection                '定义数据库的连接
    Dim strCnn   As New ADODB.Recordset
    Dim I As Integer
       str1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False"
       adoCN.Open str1
             
       Set rstSchema = adoCN.OpenSchema(adSchemaTables)
         
       Do Until rstSchema.EOF
            If rstSchema!TABLE_TYPE = "TABLE" Then
               out = out & "Table  name:  " & _
                   rstSchema!TABLE_NAME & vbCr & _
                   "Table  type:  " & rstSchema!TABLE_TYPE & vbCr
                I = I + 1
            End If
            rstSchema.MoveNext
       Loop
       MsgBox I
       rstSchema.Close
         
       adoCN.Close
    Debug.Print out
    End Subhttp://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8159
      

  2.   

    sql  server:  
     
    select  name  from  sysobjects  where  xtype='u'  
      

  3.   

    有一个系统表叫sysobjects
    可以这样从中选出所有用户表:
    select [Name] from sysobjects where xtype = 'U'还有其他的用途自己看帮助
      

  4.   

    下面的代码使用的时候要再工程的引用里面添加 ADOX 2.5 ,然后在窗体上放一个ComboBoxPrivate Sub ListAllTbl(MdbName As String)
        Dim catJxc As New ADOX.Catalog
        Dim tabDbbld As New ADOX.Table
        Dim TmpTblName As String
        Dim CountSql As String
        Dim j As Long
        '如果该数据库不存在,则建之
    On Error GoTo OnError
        MdbName = Text1(0).Text
        CountSql = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & MdbName & ";"
        catJxc.ActiveConnection = CountSql
        
        '处理单行数据
        Combo1.Clear
        
        For j = 0 To catJxc.Tables.Count - 1
            Select Case catJxc.Tables(j).Type
                Case "TABLE"
                    TmpTblName = catJxc.Tables(j).Name
                    Combo1.AddItem TmpTblName
            End Select
        Next
        
        Set catJxc.ActiveConnection = Nothing
        Exit Sub
    OnError:
        MsgBox "查询数据库时出错!" & Err.Number & Err.Description
        Debug.Print CountSql
        Debug.Print Err.Description
        Resume NextEnd Sub