是否可以修改已关闭的报告?
REPORTS![PIC Sheet]!BoundImage.Picture = "\\Image\Path"
此报告永远不会打开。 它仅用于打印。
DoCmd.OpenReport stDocName, , , "[Item #]= " Me.ItemNumber
我需要一种基于ItemNumber更改boundImage的方法。
答案 0 :(得分:1)
以下是我通常处理报告图像的方法。还有其他方法可以实现相同的目标,但我发现这个方法非常灵活,非常简单。
1)在Item表中,将文件路径存储到您要用于该项目的图像。例如,项目#1 ImagePath字段将是\ Image \ Item1.jpg或者您希望处理它。
2)将此图像文件路径信息传递到报告查询中。
3)创建一个隐藏的文本框来存储报告的文件路径,将其命名为txt_ImgPath或类似的东西
4)假设图像位于“详细信息”部分,您将向“Detail_Print”打印事件添加一些绑定代码。这会动态地将图片的路径属性更改为您指定的属性。如果不存在文件路径,则隐藏图像控件。
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
'binds the path to the picture object
If Len(Me.txt_ImgPath.Value) > 0 Then
Me.img_Item.Picture = Me.txt_ImgPath.Value
Me.img_Item.Visible = True
Else
Me.img_Item.Visible = False
End If
End Sub
如果您确实需要从报表对象更改它,则可能会提供更多洞察力。我从来没有这么做过。
答案 1 :(得分:0)
DoCmd.OpenReport stDocName, acViewPreview, , "[Item #]= " Me.ItemNumber
If Dir("\\Image\Path") = "" Then
REPORTS![stDocName]!BoundImage.Picture = "\\Image\NoImageExists.jpg"
Else
REPORTS![stDocName]!BoundImage.Picture = "\\Image\Path"
End If
DoCmd.PrintOut
DoCmd.Close acReport, stDocName