【发布时间】:2011-11-01 10:28:52
【问题描述】:
我正在使用 MS Access 2007。我有一个表格,其中除其他外,我有一个超链接字段。在那里,我保存了与记录关联的图像的超链接。现在,我想要一个 MS 访问报告,我可以在其中输出这些记录,但我不想显示可点击的超链接字段,而是显示图像本身。
我知道我可以将未绑定的图像添加到 MS Access 报告中,但我不知道如何继续。我想我可以拥有带有“随机”源的图像,并且在生成报告时只需用我的超链接字段中的值替换源。但到目前为止,我还没有找到任何类似的示例/文档 - 我应该使用哪些事件,如何遍历正在打印的记录?
编辑:
感谢@HK1,我找到了 Detail_Format 事件。但是,它仅在加载 PrintPreview 视图时触发,而不是 Report 视图。这本身不是问题,因为我可以简单地在视图之间来回切换,但是发生了一件奇怪的事情:
在打印预览中,三个记录将根据各自的值进行更新。切换回ReportView的时候,突然都获取到最后一条记录的值了。
例如,假设我有一个文本框“foo”和三个 ID 为 1、2、3 的记录。代码:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Me!foo.Caption = Me!ID.value
End Sub
它在 PrintPreview 视图中更新三个文本框以分别包含 1、2 和 3。切换回来后,我得到所有三个带有 3 的文本框。有什么想法可以解决这个问题吗?
【问题讨论】:
-
那么你想要可点击的超链接图片还是只需要图片?您可以在 Detail_OnFormat 事件期间设置控件的值,该事件发生在每条记录在报表上加载和格式化时发生。
-
谢谢!我不知道 Detail_OnFormat 会在每条记录上触发。刚刚检查并奇怪地 - 事件没有触发(根本)。我什至用它尝试了随机示例(阴影交替行:office.microsoft.com/en-us/access-help/…),它也不起作用。有什么我可能遗漏的吗?
-
好的,想通了。如果我只是打开报告视图。什么都没发生。但是,如果我切换到打印视图然后返回到报表视图,则会触发 Format 事件。现在。有什么办法可以避免切换视图?
-
我认为您需要按照您在 PrintPreview 和实际打印输出中看到的内容进行操作,而不必担心 ReportView 中显示的内容。你用什么来创造价值?如果您使用在每个 Format 事件上递增的报表级变量,您需要记住,报表可能会“加载”多次以显示一次,因此它可能会通过将变量递增两次来搞乱递增变量。跨度>
-
如果人们最终需要打印输出会很好 - 我打算让他们最终使用报告视图 :) 而且,我没有使用任何变量,它是一个简单的赋值帖子中的示例。
标签: ms-access