我一直在努力了解如何从不同的模块引用子窗体控件。许多论坛都指出了以下链接: http://access.mvps.org/access/forms/frm0031.htm
我还没有成功将其添加到我的代码中。不确定我是否遗失。
从第一个表单开始,当用户单击命令按钮时,将运行以下代码:
Private Sub Command3_Click()
policyid = Me.PolicyList
Call openpolicy(policyid)
End Sub
来自Module1:
Public Sub openpolicy(policyid)
DoCmd.OpenForm ("frmPolicyDetails")
Dim dbs As DAO.Database
Dim rcd As DAO.Recordset
Set dbs = CurrentDb
Set rcd = dbs.OpenRecordset("Select * from Policy Inner join client on client.clientid = policy.clientid where Policy.id = " & policyid)
Forms!Frmpolicydetails.selectedpolicy = rcd("PolicyNumber")
Forms!Frmpolicydetails.selectedName = rcd("FirstName") & " " & rcd("LastName")
'Trying to update subform textbox
Forms!frmpolicydetails!frmpolicyInfo.policynumber = rcd("PolicyNumber")
End Sub
“FrmPolicyInfo”是导航表单指向的“目标名称” “PolicyNumber”是子表单上控件的名称
有什么想法吗?
答案 0 :(得分:1)
我会给你一个帮我解决这个问题的小提示。您需要引用SubformControl(包含子表单的框),然后引用其中包含的表单,最后引用控件。
Forms!MainFormName!SubformControlName.Form!txtControlName
所以在你的情况下,它可能看起来像这样:
Forms!frmpolicydetails!SubformControl1.Form!policynumber = rcd("PolicyNumber")
这里令人困惑的部分是你不想改变“.Form!”成为你的表格名称。当您引用子窗体控件的窗体对象时,始终将其称为窗体,而不是窗体的名称。