'判断数据库中是否有特定的表
'TableName为表名,Cn是数据库的连接
'返回1,这个表存在,0为不存在
Public Function ExistTable(TableName, Cn As ADODB.Connection) As String
Dim i As Integer
Dim Rs_ExitTable As New ADODB.Recordset
Dim Cn_ExitTable As New ADODB.Connection
On Error GoTo FindErr:
Set Cn_ExitTable = Cn
Cn_ExitTable.CursorLocation = adUseClient
Set Rs_ExitTable = Cn_ExitTable.OpenSchema(adSchemaTables)
For i = 0 To Rs_ExitTable.RecordCount - 1
If Rs_ExitTable!table_name = TableName Then
ExistTable = 1
Exit For
Else
ExistTable = 0
End If
Rs_ExitTable.MoveNext
If Rs_ExitTable.EOF Then Rs_ExitTable.MoveLast
Next
Exit Function
FindErr:
MsgBox Err.Description
End Function
'Cn为当前连接,RS为Adodb.recordset
Set Rs = Cn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "Table"))
If Rs.RecordCount <> 0 Then
Do Until Rs.EOF
if rs.fields("TABLE_NAME")=b then
'b存在
exit sub
end f
Rs.MoveNext
Loop
End If