根据另一个表单上的值填充报表上的文本框
Populate Text box on report based on value on another form
非常新手的问题,但我有一份报告,其中有几列包括用户名。我还有一个表单,用户可以在组合框中 select 一个用户名,然后打开的报告只会显示与该用户相关的记录。有没有一种方法可以在报告上放置一个文本框,该文本框是根据用于打开报告的表单的组合框中 select 编辑的内容填充的?请注意,我将在打开报告后立即关闭表格。
经过一番尝试,我能够通过创建一个名为 temp 的变量来解决这个问题,该变量存储组合框的值,并用存储的值填充报表上的文本框。
Private Sub reportbyuser_bt_Click()
Dim temp As String
temp = Filteruser_cb.Value
DoCmd.OpenReport "Report by user", acViewReport
[Report_Report by user].Username_txt.Value = temp
DoCmd.Close acForm, "Restructuring Report"
End Sub
事实上,我什至不需要使用临时文件,只需执行以下操作即可:
[Report_Report by user].Username_txt.Value = Filteruser_cb.Value
此外,我刚刚意识到如果组合框中有几个不同的列,我的解决方案不是很好。我改用这个:
[Report_Report by user].Username_txt.Value = Filteruser_cb.Column(n)
(n为列数)
由于您的 Access 版本是 2007 或更高版本,您可以使用 TempVar
将组合框值传递到报表文本框的控件源。
例如,将此作为 Username_txt 的控件源,以下单击事件过程将确保在该文本框中显示正确的值:
=[TempVars]![user_name]
Private Sub reportbyuser_bt_Click()
TempVars("user_name") = Me.Filteruser_cb.Value
DoCmd.OpenReport "Report by user", acViewReport
DoCmd.Close acForm, Me.Name
End Sub
您可以调整它以使用您的 Filteruser_cb.Column(n)
而不是 Filteruser_cb.Value
非常新手的问题,但我有一份报告,其中有几列包括用户名。我还有一个表单,用户可以在组合框中 select 一个用户名,然后打开的报告只会显示与该用户相关的记录。有没有一种方法可以在报告上放置一个文本框,该文本框是根据用于打开报告的表单的组合框中 select 编辑的内容填充的?请注意,我将在打开报告后立即关闭表格。
经过一番尝试,我能够通过创建一个名为 temp 的变量来解决这个问题,该变量存储组合框的值,并用存储的值填充报表上的文本框。
Private Sub reportbyuser_bt_Click()
Dim temp As String
temp = Filteruser_cb.Value
DoCmd.OpenReport "Report by user", acViewReport
[Report_Report by user].Username_txt.Value = temp
DoCmd.Close acForm, "Restructuring Report"
End Sub
事实上,我什至不需要使用临时文件,只需执行以下操作即可:
[Report_Report by user].Username_txt.Value = Filteruser_cb.Value
此外,我刚刚意识到如果组合框中有几个不同的列,我的解决方案不是很好。我改用这个:
[Report_Report by user].Username_txt.Value = Filteruser_cb.Column(n)
(n为列数)
由于您的 Access 版本是 2007 或更高版本,您可以使用 TempVar
将组合框值传递到报表文本框的控件源。
例如,将此作为 Username_txt 的控件源,以下单击事件过程将确保在该文本框中显示正确的值:
=[TempVars]![user_name]
Private Sub reportbyuser_bt_Click()
TempVars("user_name") = Me.Filteruser_cb.Value
DoCmd.OpenReport "Report by user", acViewReport
DoCmd.Close acForm, Me.Name
End Sub
您可以调整它以使用您的 Filteruser_cb.Column(n)
而不是 Filteruser_cb.Value