2010-01-12 38 views
0

我将数据库从access 2003迁移到2007访问。 它似乎工作,但当我点击来自AZ的按钮时,我收到以下错误消息: “Microsoft办公室找不到对象'A_ZSchaltfläche' 如果'A_ZSchaltfläche是一个新的宏或宏组,请确保您保存了它,并且您输入了正确的名称“微软办公室找不到对象“A_ZSchaltfläche”

我没有制作新的宏,但我删除了一个表中的一个词,我认为这导致了问题:“像[公式]![Frm_Fahrzeugdaten]![Schaltflächenkriterium]”

我发现它在“Re线源“并在一个字段下,该表达式被写入标准字段。如果我不删除这个,我得到一个框里面写着:“Enter Parameter Value”Formulare!Frm_Fahrzeugdaten!Schaltflächenkriterium

我的VBA技能并不是很好,我需要一些帮助来解决问题

感谢您的帮助。

=======

附加信息的: 当我打开Form_Fahrzeugen下的VBA代码,这里是我所看到的:

Private Sub Auswahl_Click() 
    On Error GoTo Auswahl_Click_Err 

    ' Programmablauf 
    Me.Filter = "[A_Fahrzeugtyp] like '*'" 
    Me.Namen_Filter.Value = 27 
    Me.Schaltflächenkriterium = "*" 
    Schaltflächenkriterium = "*" 
    Me.Requery 
    Me.lfd_Name.Requery 
    DoCmd.GoToRecord acDataForm, "Frm_Fahrzeugdaten", acGoTo, 1 
    Me.lfd_Name.Selected(1) = True 
    Me.A_Inventarnummer.SetFocus 

    GoTo Auswahl_Click_End 

Auswahl_Click_Err: 
    Call ErrorHandler("Form_Frm_Fahrzeugdaten", "Auswahl_Click", Error$, Err, Erl) 
    Resume Next 

Auswahl_Click_End: 
    'Ausführungen vor den verlassen der Routine 

End Sub 

它有什么做的宏名称?这是宏名称的方式:“A_ZSchaltfläche” 如果我去“A_ZSchaltfläche”的设计视图,这是我得到的,条件标记为黄色我不确定这是否是一个好兆头:

感谢

==============

更新我的问题:

我能找到我的问题的解决方案。这是我的微软办公室的版本造成它。原始数据库是用德语编写的,当我进行迁移时,我将其迁移到英文版的Access 2007中。由于德语名称为“Ereignisprozedur”,因此无法找到对象,而在“事件过程”英语。我将它更改为“事件过程”​​,因为错误消息说: “Microsoft Office Access无法找到对象”Ereignisprozedur“ 如果Ereignisprozedur是一个新的宏或宏组,请确保已保存并且您已正确键入其名称 访问无法找到宏或VBA函数如果您尝试调用宏,请确保宏的名称和宏组的名称拼写正确 如果您尝试调用用户定义的宏,定义的VBA函数,请务必使用以下语法: = FunctionName()或= FunctionName(argument1,argument2,...) 确保函数为: 在表单或报表的代码中定义 - 或 - 模块中的公共功能(不是ac lass模块)“。

并形成“Formulare”一词。然后该程序起作用。

我不明白为什么微软程序是独立于语言的?

+0

您是否偶然在表单的FILTER属性或记录源中使用的基础查询中设置了某些内容? – 2010-01-12 22:44:57

+0

@David W. Fenton:我没有把它放在一边,我想那是来自前一位程序员。当我检查它时,是的,记录源下有一个过滤器。过滤器名称如下所示:“[A_Fahrzeugtyp] Like”[] *“” – tintincutes 2010-01-13 08:45:43

回答

1

你的意思是你在其中一个查询中删除了一个单词吗?它是一个称为Frm_Fahrzeugdaten的表单和一个称为Schaltflächenkriterium的控件(字段,列)的引用。它是根据标准,所以查询是在说:

选择这样或那样的地方这个字段(列)就是这样的形式,并且这种控制

它通常有

Like "*" & [Formulare]![Frm_Fahrzeugdaten]![Schaltflächenkriterium] & "*" 

或者

Like [Formulare]![Frm_Fahrzeugdaten]![Schaltflächenkriterium] & "*" 

也就是说,用通配符(*)

+0

@Remou:不,我从这个表格中删除它:“Frm_Fahrzeugdaten”。我在“设计视图”和“数据”中打开它,在“记录源”中有一个名称:“Abf_Fahrzeugdaten”我点击了“...”按钮,而不是在下拉菜单中,这导致我进入查询工具设计。这里有一个表“Tbl_Fahrzeuge”,字段名称是:“A_Fahrzeugtyp”,根据标准,我删除了整个事情:“Like [Formulare]![Frm_Fahrzeugdaten]![Schaltflächenkriterium]” – tintincutes 2010-01-12 15:09:49

+0

这是查询类型。您为什么删除标准? – Fionnuala 2010-01-12 15:28:22

+0

如果我没有删除它,表单不能正常工作。它会弹出一个窗口,询问不应该有的参数。 – tintincutes 2010-01-12 15:32:32

1

[Schaltflächenkriterium]似乎对我来说,是用户过滤记录集的形式为[Frm_Fahrzeugdaten]的编辑控件(文本框)的名称。

如果删除了文本框控件,只需重新插入并正确命名即可。

+0

@devio:我应该在哪里重新插入它? – tintincutes 2010-01-12 15:33:20

相关问题