2016-02-25 140 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中。對不起,打擾了。