2017-09-28 4 views
1

私は分割したくないプログラムを持っていますが、一部のユーザーが使用することを許可したいのですが、基本的にはそれを使用するプログラムを使用します。問題は2016年のユーザーが2,3人いることです。開かれていると参照が壊れてしまいました。私はちょうど1年後にここを見ているものを分割して配布したくないのですとにかく2016へ。より大きいバージョンの07のMSアクセスを許可しないコード

私の最初のフォームで、実行しているバージョンを確認し、2007より大きい場合にメッセージを表示してデータベースを閉じる方法がありますか?もしそうなら、私に例のコードを教えてください...ありがとう!

If CurrentProject.FileFormat <= 12 Then 
'"" 
End If 

If CurrentProject.FileFormat > 12 Then 
MsgBox Application.Name & ", Version " & "is to high to be ran with this database try a 2007 version" 
Exit Sub 

エンド

+0

mdialogo、私の最初のポスト作品にあなたの例を追加してもらえませんか?また、私はサブを終了することができません – SoggyCashew

+1

私はなぜ私のDBを終了したい私は終了の代わりに終了サブを使用していた理由を把握できませんでした。ありがとう! – SoggyCashew

答えて

2

Application.Versionを使用すると、Accessアプリケーションのバージョンが返されます。

If CInt(Application.Version) > 12 
    MsgBox Application.Name & ", Version " & Application.Version & "is to high to be ran with this database try a 2007 version" 
    Application.Quit 
End If 
0

場合はCurrentProject.FileFormatプロパティを使用することができます。それが役に立てば幸い。

Dim strFormat As String 

Select Case CurrentProject.FileFormat 
Case acFileFormatAccess2 
strFormat = "Microsoft Access 2" 
Case acFileFormatAccess95 
strFormat = "Microsoft Access 95" 
Case acFileFormatAccess97 
strFormat = "Microsoft Access 97" 
Case acFileFormatAccess2000 
strFormat = "Microsoft Access 2000" 
Case acFileFormatAccess2002 
strFormat = "Access 2002 - 2003" 
Case acFileFormatAccess12 
strFormat = "Microsoft Access 2007" 
End Select 

MsgBox "This is a " &; strFormat &; " project." 
+1

それは動作しません。 Access 2016で開くと「Microsoft Access 2007」が返されます。アプリケーションバージョンではなくデータベースファイル形式を指します。 –

関連する問題