2016-10-31 112 views
0

我有一個名爲「Query1」的查詢,其中包含「Report_Name」字段。我還有三個不同的訪問報告名爲「Rpt1,Prt3和Rpt5」。在每個記錄中都會顯示將使用哪個報告名稱。Microsoft Access - 在一個按鈕上打印多個報告

我試圖使用if ... then myTestField.visable=true,但查詢中有太多的文本字段要在代碼中聲明。

我也試過使用Subform(child in access?)。報表中的'格式'中的me.Report_Name = Reports.Rpt5

上面的兩個都不能完成我的需要,我沒有太多的代碼呢。有沒有想法實現這一目標?

+0

也許你可以顯示你的代碼,樣本數據和預期結果?我無法理解你的意思是多少報告,什麼是文本字段。而且,你打算使用'VBA'還是隻是命令訪問?對於'VBA',請標記'vba'。 – Prisoner

回答

0

這是我最好的猜測,你想要完成的任務:

Private Sub ButtonPrint_Click() 
Dim rs As DAO.Recordset 
Dim db As DAO.Database 
Dim qdf As DAO.QueryDef 

Set db=CurrentDB 

Set qdf = db.QueryDefs("YourQuery") 'Change this to your query name 

Set rst = qdf.OpenRecordset() 

Do While Not rs.EOF 
    DoCmd.OpenReport rs!Report_Name, acViewPreview, , , acHidden 
    DoCmd.SelectObject acReport, rs!REPORT_NAME 
    DoCmd.PrintOut acSelection 
    DoCmd.Close acReport, rs!Report_Name 
    rs.MoveNext 
Loop 

rst.Close 
Set rst = Nothing 
Set qdf = Nothing 
Set db = Nothing 

End Sub 

總之,這將打開儘可能多的報告,行查詢有,在隱藏模式下,一個在一時間,打印一個同時也是如此。

相關問題