HOME > 即効テクニック > AccessVBA > ファイル操作・他アプリケーションとの連携 > フォルダにデータベースが存在するか確認する(Dir関数)

即効テクニック

ファイル操作・他アプリケーションとの連携

フォルダにデータベースが存在するか確認する(Dir関数)

(Access 97)
Dir関数は、指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を表す文字列型(String)の値を返します。
次のサンプルプロシージャでは、Cドライブのフォルダ「My Documents」に「ProjectA.mdb」というデータベースがあるかどうか確認しています。

Sub Sample()
    Dim MyFile
    
    MyFile = Dir("C:\My Documents\ProjectA.mdb")
    
    MsgBox MyFile
End Sub

データベースがあった場合は、「ProjectA.mdb」がメッセージボックスに表示され、なかった場合は長さ0の文字列が返されるのでメッセージボックスには何も表示されません。
Dir関数の構文は次のとおりです。

<構文> Dir[(pathname[, attributes])]
 
pathname
省略可能です。
ファイル名を表す文字列式を指定します。フォルダ名およびドライブ名も含めて指定できます。
引数pathnameに指定した内容が見つからないときは、長さ0の文字列("")を返します。 

attributes
省略可能です。
取得するファイルが持つ属性の値の合計を表す数式または定数を指定します。
省略すると、標準ファイルの属性になります。 

引数attributesの設定値は次のとおりです。

定数    値  内容
vbNormal   0  標準ファイル
vbReadOnly  1  読み取り専用ファイル
vbHidden   2  隠しファイル
vbSystem   4  システムファイル。Macintoshでは使用できません。
vbVolume   8  ボリュームラベル。この値を指定すると、
                すべての属性は無効になります。
Macintoshでは使用できません。

vbDirectory 16  フォルダ
vbAlias   64  エイリアスファイル。Macintoshでのみ使用できます。

ファイル名にアスタリスク(*)を使用して、「C:\*.mdb」とするとCドライブにある最初のデータベースの名前が返されます。