我正在编写一个VBA脚本,用于将数据从Access数据库导入到远程数据库服务器。(它恰好是PostgreSQL,但我不认为这是非常相关的。)目前,我的脚本嵌入在Access数据库中。但是,我想像对其他源代码一样对脚本进行版本化:以纯文本的形式进行,这样SVN就可以给我很好的更改跟踪。
我也不希望必须将源文件交付给客户端,以便他们使用脚本。换句话说,我想提供已经编译到Access数据库中的导入工具。这样做是可能的吗?
还是我追错了兔子?有没有一种不用在Access数据库中嵌入任何代码就可以使用Access库的方法?我的研究表明不是,但我对这种可能性持开放态度。这是我用VBA做的第一件事,所以我肯定有一大堆东西我不知道。
发布于 2013-05-29 08:12:42
我想我进入了错误的兔子洞(我想我使用了一个不存在的习语)。原来有一些适用于.NET的互操作DLL。我的机器上似乎已经安装了Office,所以我所要做的就是添加一个对.NET DLL的引用并创建一个应用程序对象:
var app = new Microsoft.Office.Interop.Access.Application();我认为.NET应用程序会更适合我的需求。我不会做很多访问相关的事情。这将允许我像往常一样将我的源代码置于版本控制之下。唯一的缺点是,任何开发机器(以及构建服务器,如果我自动化了构建)都需要安装Access,但无论如何,VBA脚本都需要安装Access。
发布于 2013-05-29 04:37:27
如果您不想在Access中执行此操作,则可能需要以不同的方式对其进行标记。
您可以将数据库作为MDE文件提供给客户端,MDE文件是已编译的独立Access数据库。客户端将无法看到此格式的模块或其他VBA代码,如果这是您主要关心的问题。
https://stackoverflow.com/questions/16800911
复制相似问题