MDB ファイルが作成された Access のバージョンの取得 |
対象バージョン : 97, 2000(MDB), 2002(MDB), 2003(MDB)
最終更新日 : 2005/04/25
(オリジナル作成日
: 1998/10/23)
概 要
mdb の拡張子で作成されているファイルで、Access が作成した場合に、どのバージョンで作成されたかを得る方法です。
構 文
GetCreatedVersion(String)
解 説
GetCreatedVersion 関数の戻り値は整数型 (Integer)です。
GetCreatedVersion 関数では次の引数を使用します。
引 数 | 内 容 |
---|---|
String | mdb ファイルのフルパスを示す文字列式 |
GetCreatedVersion 関数が返す値と、対応するバージョンは次のとおりです。
値 | バージョン |
-1 | Access(Jet) で作成されたものと思われるが、判断不能。 |
0 | 該当ファイルが無い、あるいは Access(Jet) で作成されたものでない。 |
2 | Access 2.0 |
7 | Access 7.0 (Access 95) |
8 | Access 97 |
9 | Access 2000 |
10 | Access 2002 |
11 | Access 2003 |
ユーザー定義関数
Function GetCreatedVersion(argmdbFileName As String) As Integer Dim db As DAO.Database Dim strdir As String Dim prp As DAO.Property Dim intProjVer As Integer strdir = Dir(argmdbFileName) If Len(strdir) = 0 Then Exit Function On Error GoTo GetCreatedVersion_err Set db = DBEngine(0).OpenDatabase(argmdbFileName) Select Case Left(db.Properties("AccessVersion"), 2) Case "02" GetCreatedVersion = 2 Case "06" GetCreatedVersion = 7 Case "07" GetCreatedVersion = 8 Case "08" For Each prp In db.Properties If prp.Name = "ProjVer" Then intProjVer = prp.Value Exit For End If Next Select Case intProjVer Case 0 GetCreatedVersion = 9 Case 24 GetCreatedVersion = 10 Case 35 GetCreatedVersion = 11 Case Else GetCreatedVersion = -1 End Select Case "09" For Each prp In db.Properties If prp.Name = "ProjVer" Then intProjVer = prp.Value Exit For End If Next Select Case intProjVer Case 0 GetCreatedVersion = 10 Case 24 GetCreatedVersion = 10 Case 35 GetCreatedVersion = 11 Case Else GetCreatedVersion = -1 End Select Case Else GetCreatedVersion = 0 End Select db.Close Set db = Nothing Exit Function GetCreatedVersion_err: Select Case Err.Number Case 3045 MsgBox Err.Description GetCreatedVersion = 0 Case 3343 Dim fno As Integer Dim strKeyWord As String fno = FreeFile Open argmdbFileName For Input Access Read As fno If LOF(fno) < 20 Then GetCreatedVersion = 0 Else Seek fno, 5 strKeyWord = Input(15, fno) If strKeyWord = "Standard Jet DB" Then GetCreatedVersion = -1 Else GetCreatedVersion = 0 End If End If Close fno Case Else GetCreatedVersion = 0 End Select If Not db Is Nothing Then db.Close Set db = Nothing End If Exit Function End Function
補 足
作成した バージョン |
呼出側のバージョン |
|||
97 | 2000 | 2002 | 2003 | |
2.0 | ○ | ○ | ○ | ○ |
7.0 | ○ | ○ | ○ | ○ |
97 | ○ | ○ | ○ | ○ |
2000 | × | ○ | ○ | ○ |
2002 | × | ○ | ○ | ○ |
2003 | × | ○ | ○ | ○ |
注 意
改訂履歴