如何调用一个窗体的类函数或从条件格式表达式

问题描述:

具有在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在条件格式表达对话框中,我使用的是荷兰语版本。

如果你说txtCurrRec您详细线路被称为隐藏绑定文本框,在当前事件中使用的设置由

Me.txtCurrRec = Me.Id 

然后你在条件格式需要是

Expression is [txtCurrRec] = [YourIDField] 
+0

没错,那也是我现在做的。 :-)尽管如此,还是想知道条件格式允许使用什么语法,以及/或者为什么我的尝试失败。 –

+0

出于兴趣,您是否仅尝试[CurrentID] = [ID]? – Minty

+0

这可能只是我没有尝试的一件事,不。 :-)如果我再次参与这个项目,并且告诉你它是否有效,我会在稍后的某个时间给出一个镜头。 –