将水印添加到Access报告页面

时间:2015-04-24 17:02:38

标签: ms-access access-vba ms-access-2010

我正在尝试使用"图片"为Access报告添加水印。财产并遇到了问题。以下代码有效,图像在预览和打印报告时显示/打印,但在从宏直接打印报告时不起作用(屏幕上无法显示)。 " GrandTotal"是报表上的绑定文本框,它是记录源中字段的总和。我将不胜感激任何从打印预览和打印宏打印水印的建议。

Private Sub Report_Load
' put up the watermark if needed

    If GrandTotal.Value < 2000 Then
        Me.Picture = <<picture file name including full path>>
    End If
End Sub

1 个答案:

答案 0 :(得分:2)

由于您打印的报表没有呈现到屏幕上,因此从不会使用打开/加载事件,因为它们从未被使用过。另一种方法是在打印预览中打开报告,并使用OpenArgs表示您要打印它

Private Sub SomeButton_Click()
    DoCmd.OpenReport "DetailView", acViewPreview, , , acHidden, "Print"
End Sub

然后做你正常装载的东西

Private Sub Report_Load
' put up the watermark if needed

    If GrandTotal.Value < 2000 Then
        Me.Picture = <<picture file name including full path>>
    End If
End Sub

当加载完成后,您的表单将激活,这时您可以打印

Private Sub Report_Activate()
    If Me.OpenArgs = "Print" Then
        On Error GoTo ErrorHandler

        DoCmd.OpenReport "Report1", acViewPreview
        'Opens print dialog for current screen (report in this case):
        DoCmd.RunCommand acCmdPrint
    End If
    DoCmd.Close
ErrorHandler:
    If Err.Number <> 0 And Err.Number <> 2501 Then
        MsgBox "Error: " & Err.Number & vbNewLine & Err.Description
        Exit Sub
    End If
End Sub

表单永远不会显示,所以看起来你之前已经设置了它,但是加载/打开事件会像正常一样触发,因为报告实际上已经呈现。