#038 | MDBファイルのAccess(DAO)バージョンを調べる方法 | VBA | |
Accessのデータベースファイルは、いずれのバージョンで作成されたものも拡張子が"MDB"となりますので、実際にAccessのそれぞれのバージョンで開いてみないと確認することができません。そこで次に、VBAを使って指定したMDBファイルのAccessのバージョンを調べる方法をご紹介します。 MDBファイルのAccessのバージョンを調べるには、指定したMDBファイルの Database オブジェクトの[Version]プロパティを調べます。実はこのプロパティはJETデータベースエンジン(DAO)のバージョンを返すものですが、Accessのバージョンと等価と考えられますので、そのプロパティ値によってAccessのバージョンを判断することができます。ただしこれには1つ注意点があります。Access95もAccess97も同じ"3.0"という値を返すのです。Access97は"3.5"を返してくれてもよさそうなのですがそうはいかないようです。そこで、その2つのバージョンについてはさらに[AccessVersion]プロパティを調べて判断を行います。なお、このプロパティについては、"dbs.AccessVersion"という記述方法では参照できません。次のコードのように、dbs.Properties("AccessVersion")という構文を使う必要があります。 サンプルプロシージャ: Public Function GetAccVer(strMDBPath As String) As String
※このコードは、すべて[AccessVersion]プロパティを使ってバージョン判断を行わせることもできます。ただし、その場合にはAccess1.1で「プロパティが見つかりませんでした」のエラーとなりますので、そのエラーが発生したらAccess1.1で作成されたものであると、エラートラップで判断させる必要があります。Dim dbs As Database Set dbs = DBEngine(0).OpenDatabase(strMDBPath) Select Case dbs.Version Case "1.1" GetAccVer = "Access1.1" Case "2.0" GetAccVer = "Access2.0" Case "3.0" If Left(dbs.Properties("AccessVersion"), 2) = "06" Then GetAccVer = "Access95" Else GetAccVer = "Access97" End If End Select End Function |
|||
|
Copyright © T'sWare All rights reserved |