0

具有在Form類下面的代碼訪問其屬性在Access 2003:如何調用一個窗體的類函數或從條件格式表達式

Public currentId As Integer 

Private Sub Form_Current() 
    Me.currentId = Me.id 
    ' The following works fine 
    Debug.Print Forms!my_form_name.currentId 
End Sub 

...在同一個連續的未綁定文本框表單(在設計視圖中創建),如何從條件格式表達式訪問.currentId屬性?

我想使用未綁定的文本框通過比較表格的.currentId值與其自己記錄的實際[id]來突出顯示當前選定的記錄。

一些表達式我已經試過:

[id] = Me.currentId 
[id] = Me!currentId 
[id] = Me.Form.currentId 
[id] = Forms!my_form_name.currentId 
[id] = Forms!my_form_name!currentId 
[id] = Forms!my_form_name!Form.[currentId] 
[id] = Forms!my_form_name!Form!currentId 
[id] = Forms!my_form_name!Form[currentId] 
[id] = Forms!my_form_name![currentId] 
[id] = Forms![my_form_name].[currentId] 
[id] = Forms![my_form_name]![currentId] 

...等等,等等,等等。任何變種我能想到的,基本上。

我試過創建Public Function getCurrentId(),但是這並沒有讓我在任何地方。

[id] = Forms!my_form_name.getCurrentId() 

...我或許應作爲一個暗示,這些更復雜的表達式可能不允許條件格式表達式:它甚至當我在表達加括號,這樣的抱怨。

所以,我錯過了什麼?或者在這些條件格式表達式中確實無法引用除當前記錄字段以外的任何內容?


另外一個細節,可能是重要提,是Access 2003中的本地化部分FormsFormulieren在條件格式表達對話框中,我使用的是荷蘭語版本。

回答

1

如果你說txtCurrRec您詳細線路被稱爲隱藏綁定文本框,在當前事件中使用的設置由

Me.txtCurrRec = Me.Id 

然後你在條件格式需要是

Expression is [txtCurrRec] = [YourIDField] 
+0

沒錯,那也是我現在做的。 :-)儘管如此,還是想知道條件格式允許使用什麼語法,以及/或者爲什麼我的嘗試失敗。 –

+0

出於興趣,您是否僅嘗試[CurrentID] = [ID]? – Minty

+0

這可能只是我沒有嘗試的一件事,不。 :-)如果我再次參與這個項目,並且告訴你它是否有效,我會在稍後的某個時間給出一個鏡頭。 –