汎用オブジェクト存在チェック(97 以前) |
対象バージョン : 97 (,2000, 2002, 2003, 2007)
最終更新日 : 2007/02/12
( オリジナル作成日:1996/11/16 )
概 要
プロシージャ内で、指定されたオブジェクト が存在するか否かをチェックするユーザー定義関数です。
構 文
IsObjExist(objectType, ObjectName)
解 説
IsObjExist 関数の戻り値はブール型 (Boolean)です。
引数に指定されてオブジェクトが存在する場合は True を、存在しない場合 は False を返します。
IsObjExist 関数では次の引数を使用します。
引 数 | 内 容 |
---|---|
ObjectType | Access の組み込み定数 acTable, acQuery, acForm, acReport, acMacro, acModule を指定します。 |
ObjectName | オブジェクトの名前を示す文字列式です。 |
ObjectType に誤った値を設定した場合や、ObjectName が Null の場合、 IsObjExist 関数は False を返します。
ユーザー定義関数
Function IsObjExist(Arg_ObjType As Integer, Arg_ObjName) As Boolean Dim db As DAO.DATABASE Dim tbd As DAO.TableDef Dim qd As DAO.QueryDef Dim ContName As String Dim doc As DAO.Document IsObjExist = False If IsNull(Arg_ObjName) Or Arg_ObjName = "" Then Exit Function Set db = CurrentDb Select Case Arg_ObjType Case acTable db.TableDefs.Refresh For Each tbd In db.TableDefs If tbd.Name = Arg_ObjName Then IsObjExist = True Exit For End If Next Case acQuery db.QueryDefs.Refresh For Each qd In db.QueryDefs If qd.Name = Arg_ObjName Then IsObjExist = True Exit For End If Next Case acForm, acReport, acMacro, acModule Select Case Arg_ObjType Case acForm ContName = "Forms" Case acReport ContName = "Reports" Case acMacro ContName = "Scripts" Case acModule ContName = "Modules" End Select db.Containers(ContName).Documents.Refresh For Each doc In db.Containers(ContName).Documents If doc.Name = Arg_ObjName Then IsObjExist = True Exit For End If Next End Select End Function
補 足
改定履歴