打印子表单结果

时间:2016-02-25 19:07:54

标签: ms-access access-vba ms-access-2010

我在创建用于在Access中打印子表单记录的报表时遇到了麻烦。问题是我的表单上有未绑定的子表单,而这个子表单.Recordsource基于动态SQL字符串。这是我的代码(只是为了更好地理解的样本):

Private Sub SearchRecords_Click()

Dim SQL As String

On Error Resume Next

SQL = "SELECT * FROM MyTable WHERE 1=1"

If Not IsNull(Txt1) Then
SQL = SQL & " AND MyTableField1 =[Forms]![Form1]![Txt1]"
End If

If Not IsNull(Txt2) Then
SQL = SQL & " AND ((MyTableField2 LIKE ""*" & Txt2 & "*""))"
End If

DoCmd.OpenForm "Form2", acNormal

Forms![Form2]![MySubform].Form.RecordSource = SQL

End Sub

如您所见,此代码用于打开Form2,其中子窗体是,并且它显示来自DB的结果,如用户想要的那样。现在,我想要的是这个子表单结果也会打印出来(不是printcreen,报告)。

我已经创建了一个基于表的报告,该报告包含所有这些必要的记录,并尝试使用它,但它不起作用:

DoCmd.OpenReport "ReportNameHere", acViewPreview, WhereCondition:="[PKFieldNameHere]=" & Me.SubformControlName.Form.ControlNameHere

我必须做什么,我找不到任何我需要的例子,有人可以帮助我吗?

提前致谢!!

1 个答案:

答案 0 :(得分:0)

找到答案。我只需要将Load_event中的Report引用到我的Subform的.Recordsource。抱歉打扰。