如何将值从子窗体传递到主窗体ms访问

时间:2018-12-10 04:02:52

标签: ms-access

我有一个带有子表单的表单(数据表视图表单)。当我单击子窗体中的一行时,我想将该行值传递给主窗体中的文本框。甚至在子窗体中写了这个

 Private Sub Form_Click()
 MsgBox (Noloan)
 End Sub

但是我不知道如何将表单sub_form_click no_loan传递给mainform.textbox。谢谢你的帮助。 附加数据:在我的数据库中,我有一个表,其中包含字段No,NoLoan,Name。我要单击的NoLoan字段值。从该表中创建一个子窗体/数据表视图,子窗体名称为T_Loan1。然后创建Main Form,名称为FindLoan2。在该主/父窗体中,我创建一个名为Text7的文本框,并将T_Loan1放在页脚的子窗体对象中。

4 个答案:

答案 0 :(得分:0)

  1. 转到子窗体,然后单击具有行值的字段
  2. 选择字段属性-单击事件选项卡->单击时->代码生成器
  3. 将以下代码放在Click事件中,其中Form_frmMain是您的表单名称,而Me.ID是字段。

Private Sub ID_Click()
   Forms!FindLoan2.Text7 = Me.ID
End Sub

答案 1 :(得分:0)

我放了

= [表单]![FindLoan2]![subformTLOAN]。[表单]![Noloan]

在我的Text7控件中,并且可以正常工作。 感谢您的关注。

答案 2 :(得分:0)

最好的方法是编写忽略形式名的代码。如果您复制表单,更改子表单,甚至将子表单放到其他表单中,那么所有代码​​都会中断。

要从代码中引用父表单中的文本框,请使用:

me.Parent!Text7 = me!id

答案 3 :(得分:0)

我不确定您使用的是哪个版本的MS Access,但是如果您的应用程序很复杂,则很难引用其他表单/字段/控件,那么也可以使用Tempvars存储值以供其他地方使用。

要创建:

Tempvars.Add "TempVarName", TempvarValue

要使用:

Tempvars!TempVarName

要删除:

Tempvars.Remove "TempVarName

由于难以管理,我尝试限制使用它们。我总是小心设置值,并确保在完成设置后将其删除,以免造成混淆或值在不应该设置时仍然存在的问题。