VBAでテーブルの存在チェックをする関数

当ページのリンクには広告が含まれています。
テーブル存在チェック
  • URLをコピーしました!
目次

Accessのテーブルが存在するかどうか確認する関数

テーブルに対して処理をする際に、事前にそのテーブルが存在するかどうかチェックする関数を作成しました。

使用用途

通常「使うはずのテーブルがない」なんてことはありませんが、

テンポラリーテーブルとして一時的に使う場合など、

「テーブルを作成する前に以前作成したテーブルが残っているかどうか確認し、残っていたら削除してから処理を始める。」といったケースがあります。

その際、存在しないテーブルを削除するとエラーが発生します。

エラーコードを見てエラーをスキップしてもいいのですがあまりスマートではないので

まずは一旦テーブルの有無を確認し、あれば事前に削除するという方法がベターです。

実装方法

以下の関数を作成しました。

引数としてチェック対象のテーブル名を文字列で渡し、存在すればTrue、存在しなければFalseを返します。

'------------------------------------------------------------
'   処理内容:テーブル存在チェック
'   引数:テーブル名
'   戻り値:True/False
'  更新:
'------------------------------------------------------------
Public Function IsTable(strTableName As String) As Boolean

    Dim myTDef  As DAO.TableDef

    '戻り値初期化
    IsTable = False
    
    For Each myTDef In CurrentDb.TableDefs
        If myTDef.Name = "テーブル名" Then
            '存在した場合はFlagをTrueにしてループを抜ける
            IsTable = True
            Exit Function
        End If
    Next
    
End Function

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次