閉じる

特定の文字列で始まるテーブルをすべて削除する。(DAO)


'-----------------------------------------------------------

' 特定の文字列で始まるテーブルをすべて削除する。

' delSTR : 削除するテーブルの先頭文字列

'-----------------------------------------------------------

Public Function g_Delete_Table_By_String(delSTR As String) As Long

On Error GoTo ERR_g_Delete_Table_By_String



    g_Delete_Table_By_String = 9

    

    '警告メッセージをOFF

    DoCmd.SetWarnings False



    Dim db As Database

    Dim i As Integer

    Dim MyPos As Long

    

    Set db = CurrentDb

    For i = 0 To db.TableDefs.Count - 1

    

        MyPos = InStr(db.TableDefs(i).Name, delSTR)

        If MyPos > 0 Then

            'Debug.Print "発見: " & db.TableDefs(i).Name

            DoCmd.DeleteObject acTable, db.TableDefs(i).Name

        End If

    Next i

    g_Delete_Table_By_String = 0



    '警告メッセージをOFF

    DoCmd.SetWarnings True



Exit_g_Delete_Table_By_String:

    Exit Function

    



ERR_g_Delete_Table_By_String:

    MsgBox ("g_Delete_Table_By_String:" & Err.Number & " " & Err.Description)

    Resume Exit_g_Delete_Table_By_String