目次
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
コメント