2012-08-10 81 views
3

我继承了Access数据库,并试图与此错误消息的时候打开它示数出来:“无效过程或参数”错误

运行时错误“5”:
无效过程或参数

我已将其被曝在VBE下面的代码:

Set cbMainMenu = CommandBars.Add(Name:="OIG Main Menubar", _ 
Position:=msoBarTop, MenuBar:=True, Temporary:=True) 

我从部分普遍增加了一个检查在此之前oogling研究,但它似乎没有工作,因为它仍然示数(有和没有错误处理的变化):

On Error Resume Next 
    Application.CommandBars(cbMainMenu).Delete 
    On Error GoTo 0 

任何人有任何想法,或者可以点我在正确的方向来解决这个错误?我会一直保持冷静一点。

编辑:

这似乎并非是主要的,最初的错误。我现在正在努力寻找它,如果/当我找到它,它将重新发布。

EDIT2:

这是什么是真正导致错误,要环顾四周,看看我能照顾它:

Set cbcToolsDBCompact = cbpToolsMenu.Controls.Add(Id:=CommandBars("Menu Bar").Controls("Tools").CommandBar.Controls("Database Utilities").CommandBar.Controls("Compact And Repair Database...").Id) 

EDIT3:更改上面的代码到:

Set cbcToolsDBCompact = cbpToolsMenu.Controls.Add(Id:=2071) 

修复了这个问题,并且comact/repair选项在那里现在。 (甚至可以)。由于没有人真的发布了具体的答案,除了在评论中,我将在底部使用“回答自己的问题”选项,这对未来有一个答案。另外,我发现代码为这个位置:

MS Access: how to compact current database in VBA

+1

打开数据库时,按住** shift **,然后尝试编译它,看看是否可以识别行。如果编译没有给出错误,那么你可以依次打开每个表单来查看哪一行实际上是错误的 – SeanC 2012-08-10 14:26:57

+1

尝试将'Application.CommandBars(cbMainMenu).Delete'改为'Application.CommandBars(“OIG Main Main Menubar”) .Delete' – talbright 2012-08-10 14:30:57

+0

我在想这不是最初的错误,因为我已经做了一些尝试,并且DB使它成为我在此之后调试的一些代码。多去寻找一些东西,看看实际发生的情况。感谢你目前的帮助。 – 2012-08-10 14:41:00

回答

1

在这里回答我自己的问题。

这是“压缩和修复数据库”选项从Access 2003中的位置移开的问题。

VBA代码被添加它作为一个菜单选项,并在2003年,这是看上去像什么代码:

Set cbcToolsDBCompact = cbpToolsMenu.Controls.Add(Id:=CommandBars("Menu Bar").Controls("Tools").CommandBar.Controls("Database Utilities").CommandBar.Controls("Compact And Repair Database...").Id) 

在2007年,按照这一问题,发现这里MS Access: how to compact current database in VBA这是怎么的需求要处理:

Set cbcToolsDBCompact = cbpToolsMenu.Controls.Add(Id:=2071) 
1

我的猜测是,这是一个参考的问题。

在Visual Basic IDE,单击工具/参考: enter image description here

在弹出的对话框中,寻找的Microsoft Office X.0对象库:

enter image description here

不它旁边有“失踪”一词吗?如果是这样,那就是你的问题。

取消选中缺少的参考并向下滚动,然后选中与您的Office版本一起安装的参考。

+0

不,这里看起来不错,Microsoft Office 12.0 Object Library,不会丢失。 – 2012-08-10 14:39:58

+0

@BrettG K.斯里,这没有帮助。祝你好运:) – ray 2012-08-10 14:42:38

+1

谢谢! :-)我认为这是一个2k3-2k7的转换问题,但请不要在此引用我的意见! ;-) – 2012-08-10 14:44:05

相关问题