在MS Access中修改已关闭的报表



是否可以修改已关闭的报告?

REPORTS![PIC Sheet]!BoundImage.Picture = "\ImagePath"

该报告从未打开过。仅用于打印

DoCmd.OpenReport stDocName, , , "[Item #]= " Me.ItemNumber

我需要一种方法来改变基于ItemNumber的boundImage

我通常是这样处理报告中的图像的。还有其他方法可以实现同样的目标,但我发现这个方法非常灵活,而且非常简单。

1)在Item表中,存储您希望用于该项的图像的文件路径。例如,item# 1 ImagePath字段将是ImageItem1.jpg或任何你希望处理它。

2)将此图像文件路径信息传递到报表查询中。

3)创建一个隐藏文本框来存储报告的文件路径,命名为txt_ImgPath或类似的东西

4)假设图像位于"Detail"部分,然后将一些绑定代码添加到"Detail_Print"打印事件中。这将动态地将图片的path属性更改为您指定的那个。如果不存在文件路径,则隐藏图像控件。

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

如果您真的需要从报表对象中更改它,可能有人能够提供更多的见解。

DoCmd.OpenReport stDocName, acViewPreview, , "[Item #]= " Me.ItemNumber
If Dir("\ImagePath") = "" Then
    REPORTS![stDocName]!BoundImage.Picture = "\ImageNoImageExists.jpg"
Else
    REPORTS![stDocName]!BoundImage.Picture = "\ImagePath"
End If
DoCmd.PrintOut
DoCmd.Close acReport, stDocName

最新更新