如何检测您的Microsoft Access应用程序是否已编译,即作为ACCDE运行

时间:2017-01-18 16:24:47

标签: ms-access access-vba ms-access-2013 ms-access-2016

是否有人有任何VBA来检测您的Microsoft Access 2013/2016应用程序是否作为ACCDE运行,即是否已编译?

我希望我的代码在发生错误时停止并中断,并且a)我运行它(environ(“username'))并且它不是ACCDE。

有人有任何建议吗?

3 个答案:

答案 0 :(得分:1)

改编自https://access-programmers.co.uk/forums/showthread.php?t=229474http://allenbrowne.com/ser-53.html

Public Function IsACCDE() As Boolean

    ' Init
    IsACCDE = False

    ' This property exists only in compiled DBs (.mde, .accde)!
    ' Ignore error (and stay "False") if not.
    On Error Resume Next
    IsACCDE = (CurrentDb.Properties("MDE") = "T")

End Function

答案 1 :(得分:0)

我使用它是Access VBA的一部分:

to addresses

答案 2 :(得分:0)

我找不到任何始终为我提供正确答案的属性。然后我意识到这些方法都是我真正想知道的近似值。现在我直接问是不是acde。

Private Function InDevelopment() As Boolean

On Error Resume Next

    InDevelopment = False
    InDevelopment = (InStr(CurrentDb.Properties("Name"), "accde") = 0)
End Function