Access判斷數據錶是否存在

2017-11-16 16:05:00
cg1
轉貼
348

錶是數據庫最重要的東西,有時候因爲程序的需要,會把錶隱藏(Access徹底隱藏錶顯示錶。直觀上也許我們不能馬上髮現。

那麽我們如何判定一箇錶是否存在於某箇數據庫?這裡我們介紹兩箇方法


方法一:

'通過寫循環讀取所有錶的名字來判定錶是否存在
Function searchTable(TableName As String) As Boolean
    searchTable = False
    Dim tbl As DAO.TableDef
    For Each tbl In CurrentDb.TableDefs
        If tbl.Name = TableName Then
            searchTable = True
            Exit For
        End If
    Next
End Function

'調用,如要判斷錶名爲“錶2”的錶是否存在: msgbox searchTable("錶2")
'如果存在返迴 True,不存在返迴 False


方法二:
這種方法就是使用陷阱,造成一箇錯誤,通過繫統錯誤來判定某箇錶是否存在
這是箇少有人介紹,但是很實用的技巧。

Function test()
    MsgBox TableIsIn("錶2")
End Function
Function TableIsIn(TableName As String)
    TableIsIn = True
    On Error Resume Next
    Dim strSQL As String
    strSQL = "select * from " & TableName
    CurrentDb.Execute strSQL
    If Err.Number = 3078 Then
        TableIsIn = False
    End If
    
End Function


    分享