2016-02-25 95 views
0

我在创建报表以打印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 

正如你看到的,这个代码是用来打开窗体2,在子窗体,并作为用户希望他们从DB显示结果。现在,我想要的是这个子表单结果也将被打印(不是打印屏幕,报告)。

我创建基于表包含所有这neccessary记录的报告,以及与此尝试,但它不工作:

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

我必须做什么,我无法找到任何例如我需要的东西,有人可以帮我吗?

在此先感谢!

回答

0

找到答案。我只需将Load_event中的Report引用到我的子表单的.Recordsource中。对不起,打扰了。