所以我特别了解了数据库和Microsoft Access,尝试使用Visual Basic脚本(版本6.5)来帮助维护Microsoft Office Access 2003数据库,这是由几个不再在公司工作的人设置的。现在我们遇到的问题是,数据库脚本无法再导入我们从外部源获取的数据;有关格式的内容已经改变,但我们无法弄清楚是什么。
我正在尝试深入研究脚本以找出变化的内容以及可能是让事情再次发挥作用的最佳解决方案。我们在某种程度上缩小了问题的范围;它位于此代码段的最后一行:
Debug.Print "step #255"
DoCmd.OpenQuery "qryMAKE NEW GHR TABLE", acNormal, acEdit
Debug.Print "step #256"
DoCmd.OpenQuery "qryUPDATE MIDDLE INI", acNormal, acEdit
Debug.Print "step #257"
DoCmd.OpenQuery "qryUPDATE SUFFIX", acNormal, acEdit
现在,这是让我完全困惑的部分!当我打开数据库时,我看到对话框,让我可以选择查看“表格”,“查询”,“报告”,“表格”等。我会假设数据库中的所有查询都是可以找到的在“查询”部分下。但是在上面的代码段中调用的三个查询中,实际上只有qryMAKE NEW GHR TABLE
。其他两个肯定行为就好像它们存在一样 - 调试输出打印“步骤#256”,“步骤#257”并且不会在无法找到qryUPDATE MIDDLE INI
之间抱怨 - 但我找不到此查询或qryUPDATE SUFFIX
。
我唯一能够确定可能正在发生的事情是微软的文档说它在数据库本身中查找查询,但也可能在“库数据库”中查找。不幸的是,我似乎无法找到关于“图书馆数据库”的信息,当然还不足以弄清楚我们是否正在使用一个;尝试搜索“库数据库”只会显示有关数据库使用和借出库的结果。
我们需要在哪里寻找qryUPDATE MIDDLE INI
和qryUPDATE SUFFIX
?
答案 0 :(得分:1)
也许有人隐藏了它们...... Access数据库中的对象可以标记为隐藏。如果右键单击并查看属性,您将看到隐藏的标记。要取消隐藏我认为你进入工具|选项|查看并有一个复选框说显示隐藏的对象。
希望是这样,因为我想不出别的什么。
答案 1 :(得分:1)
当您查看引用(代码窗口中的工具引用)时,您是否可以看到对Access mde或mdb的引用?代码是否创建查询然后删除查询,您可以在代码中按名称搜索这两个查询,并查看它出现的内容。
答案 2 :(得分:1)
如果查询在当前数据库中,您应该能够在QueryDefs集合中看到它。按Ctrl-G转到VBE中的立即窗口并输入;
?CurrentDB.QueryDefs("qryUPDATE MIDDLE INI").Name
如果它返回qryUPDATE MIDDLE INI“那么它就在那里,不一定是可见的。要查找,请输入:
?GetHiddenAttribute(acQuery,"qryUPDATE MIDDLE INI")
如果已将其设置为隐藏,则返回True,然后您可以更改“访问”选项以显示隐藏的对象。
答案 3 :(得分:1)
你是否在踩到代码时检查了它们的存在?可能是这些查询是在同一个函数中创建和销毁的......它们在代码运行时存在,但你不会在之前和之后看到它们......