2016-12-03 52 views
0

VBA版本的MS Access:報告的SetProperty在激活不起作用,對批量打印

報告On Activate事件

Option Compare Database 
Private Sub Report_Activate() 
    If (Me.SomeTextBox = "SomeText25") Then 
     Me.SomeLabel.Visible = False 
    End If 
End Sub 

版本

報告On Activate事件

If [SomeTextBox]=SomeText25 Then 
    SetPropery 
     Control Name SomeLabel 
      Property Visible 
       Value False 
End If 

根據需要將報表預覽和打印從「打印預覽」和「報表視圖」作爲單個報表打印,但不能在以相同查詢數據以編程方式打印多個結果時打印。

Query Criteria: Between...

打印報表時多個記錄,控制是對所有打印的報告可見,與On Activate事件被忽略。

它看起來像我可能必須通過記錄集Loop,以獲得預期的結果。

作爲解決方法,我將Label轉換爲TextBox,並使用Conditional Formatting隱藏(白色)文本。

回答

0

將我的If/Then放入詳細部分的On Print事件中,用Else重置它,正確打印所有報告。

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)` 
    If...Then 
     ...Visible = False 
    Else 
     ...Visible = True 
    End IF 
End Sub 
0

OnActivate不會觸發正常打印,僅用於預覽,所以您將不得不使用另一個事件。

+0

有什麼建議嗎? – tahwos