我在创建用于在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
我必须做什么,我找不到任何我需要的例子,有人可以帮助我吗?
提前致谢!!
答案 0 :(得分:0)
找到答案。我只需要将Load_event中的Report引用到我的Subform的.Recordsource。抱歉打扰。