将水印添加到 Access 报告页面
Adding watermark to a Access report page
我正在尝试使用 "Picture" 属性 向 Access 报告添加水印,并且 运行 成为一个问题。以下代码在预览和打印报告时有效,图像为 displayed/printed,但在直接从宏打印报告时无效(屏幕上看不到任何内容)。 "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
由于您正在打印报表而没有将其呈现到屏幕上,因此永远不会触发 open/load 事件,因为它们从未被使用过。另一种方法是在打印预览中打开报告并使用 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
表单从未显示,所以看起来您之前已经设置了它,但 load/open 事件将像正常情况一样触发,因为报告实际上已呈现。
我正在尝试使用 "Picture" 属性 向 Access 报告添加水印,并且 运行 成为一个问题。以下代码在预览和打印报告时有效,图像为 displayed/printed,但在直接从宏打印报告时无效(屏幕上看不到任何内容)。 "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
由于您正在打印报表而没有将其呈现到屏幕上,因此永远不会触发 open/load 事件,因为它们从未被使用过。另一种方法是在打印预览中打开报告并使用 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
表单从未显示,所以看起来您之前已经设置了它,但 load/open 事件将像正常情况一样触发,因为报告实际上已呈现。