0

如何获取 AccessVersion?

我看到对具有“属性”集合的对象的引用,但我不知道该对象是什么。

例如http://support.microsoft.com/kb/321329

与上述相关,我想我的问题是:有没有办法在不自己进行互操作的情况下访问 msado15.dll 功能?

我一直在寻找 .Net 的 JRO COM 对象,但它似乎没有我想要的东西。

最终,我只想以编程方式确定JET特定 .mdb 文件的引擎版本。

4

1 回答 1

0

要确定.mdb文件版本,您可以使用我在此处找到的以下 VBScript/VBA 代码:

Set objAccess = CreateObject("Access.Application")
objAccess.OpenCurrentDatabase "C:\Scripts\Test.mdb"

intFormat = objAccess.CurrentProject.FileFormat

Select Case intFormat
    Case 2 Wscript.Echo "Microsoft Access 2" 
    Case 7 Wscript.Echo "Microsoft Access 95"
    Case 8 Wscript.Echo "Microsoft Access 97" 
    Case 9 Wscript.Echo "Microsoft Access 2000"
    Case 10 Wscript.Echo "Microsoft Access 2003"
End Select

在 C# 中,您可以添加对“Microsoft Access 14.0 Object Library”(或类似)的引用,然后使用一些代码,例如

var objAccess = new Microsoft.Office.Interop.Access.Application();
objAccess.OpenCurrentDatabase(@"C:\Users\Public\Database1.accdb");
int intFormat = (int)objAccess.CurrentProject.FileFormat;
于 2013-06-26T21:16:45.413 回答