2010-01-12 77 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