我有一个项目需要将Access 2003数据库的不同版本相互比较。我们对表格中的数据不感兴趣。我们只对描述数据库的对象感兴趣。即表单对象,报表对象,QueryDefs,TableDefs等。数据库相当大,因此方法是通过在每个数据库中运行VBA应用程序,然后比较结果,将所有感兴趣对象的描述转储到文本文件中。差异观察者。
我一直在寻找几天来了解如何从VBA中动态转储访问2003宏内容。请不要将此与从VBA转储VBA代码混淆。
我了解Application.CurrentDB.AllMacros以获取活动访问数据库中的宏列表。但我无法从宏(MacroName)。SomeProperty获取宏对象,因为宏未打开。所以我一直试图寻找一种方法来打开宏,并且还没有找到通过VBA实现这一目标的方法。
对此主题的任何帮助都将不胜感激。
谢谢!
答案 0 :(得分:3)
您可以使用undocument Application.SaveAsText:
导出宏 Application.SaveAsText acMacro ,"AutoKeys", "AutoKeys.txt"
...将AutoKeys宏保存到当前目录中。
答案 1 :(得分:0)
您可以手动请求Access将宏转换为VBA。有一个选项,我认为当你右键单击宏。之后,您可以比较生成的VBA。
答案 2 :(得分:0)
有关比较Access数据库的实用程序列表,请参阅以下页面 http://www.granite.ab.ca/access/thirdparty.htm