我有数据库db.mdb,内有好几个表,我如何用语句判断数据库中某数据表是否存在?

解决方案 »

  1.   

    比如,你用ADO打开该数据库后,adoConnection.后有好多属性可判断的,建议看帮助或去google查找
      

  2.   

    '----------------------------------------------------------------------------
    '
    '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
       
      

  3.   

    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 Sub
    http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8159
      

  4.   

    select count(1) from tablename如果出错呢,那这个表就一定不存在。
      

  5.   

    我用的是DAO啊,怎么实现?不过,eports(飘零风) 先生的方法很有意思,我试试
      

  6.   

    eports(飘零风) :那如果出错的话,会不会自动退出?我想如果出错的话,应该提示用户不存在那个表,应该怎么写语句?
      

  7.   

    先捕获其错误码,就行了
    sub() 
    on error goto llLL:
    select case 错误号
    msgbox 
    end select
    end sub 
    这样应该可以吧