我正在尝试创建一个函数,该函数将确定活动表单控件中保存的值,然后传递表单条件的值,如下所示:
Public Function fc_id() As Long
fc_id = (Screen.ActiveControl.Caption)
End Function
Public Sub sShowForm()
DoCmd.OpenForm "F_Details", , , "c_id = " & fc_id
End Sub
然后我从单击的表单控件中调用该函数:
sShowForm
详细信息表单会打开,但它是黑色的,并且没有错误消息。
如果我使用数值,那么
的等价性是什么(Screen.ActiveControl.Caption)
答案 0 :(得分:0)
暂时更改您的程序,以了解您从Screen.ActiveControl
获得的内容:
Public Sub sShowForm()
'DoCmd.OpenForm "F_Details", , , "c_id = " & fc_id
MsgBox Screen.ActiveControl.Name
End Sub
你可能没有得到你所期望的。例如,如果您使用命令按钮运行sShowForm()
,则命令按钮为ActiveControl
。无论是否是这种情况,请检查您的实际情况。
如果当前表单(运行VBA代码的表单)包含一个绑定到表单记录源中c_id
字段的文本框,则可以删除该函数并直接引用该文本框{ {1}}选项。例如,如果OpenForm
是数字字段,并且文本框名为c_id
...
txtc_id
如果DoCmd.OpenForm "F_Details", , , "c_id = " & Me.txtc_id
是文字类型,请在文本框值...
c_id