Access Tips集

一覧へ戻る▲

VBAでドライブ名を自動的に取得するには
現在ではPC-98、DOS/Vを意識してプログラムを作成するという事もほとんどなくなりました。
しかし、複数のアクセスDBを使って連携する場合等に、ドライブの指定が必要になることが
あります。VB6.0では簡単に現在アプリケーションやファイルのあるフォルダを指定できるのに、
アクセスの場合どうしてできないの? と思ったことがあります。
DAOの場合

Public Function DriveGet()
Dim MyDB As DAO.Database
Dim strDrive As String
Dim strFullPass As String
Set MyDB = CurrentDb

strDrive = Mid(MyDB.Name, 1, 2)
strFullPass = MyDB.Name

MsgBox "現在のドライブは " & strDrive & "です。"
MsgBox "現在のフルパスは " & strFullPass & "です。"

Set MyDB = Nothing

End Function

ADOの場合

Public Function Get_CurDrive()
Dim strSerch(1) As Integer
Dim strLen As Integer
Dim strget As Integer

'プロバイダ接続情報より
'カレントデータベースのパスを得る


Set Cnect = Application.CurrentProject.Connection
Get_CurDrive = Cnect

strSerch(0) = InStr(Get_CurDrive, ":\")
strSerch(1) = InStr(Get_CurDrive, ".mdb")
strLen = strSerch(1) - strSerch(0) + 5

Get_CurDrive = Mid(Get_CurDrive, strSerch(0) - 1, strLen)

Cnect.Close
Set Cnect = Nothing

MsgBox "現在のパスは " & Get_CurDrive & " です。"

End Function

下記にて、アクセスサンプルをダウンロードできます。
サンプルファイルダウンロード

一覧へ戻る▲

IT SOHO CLUB