1

我有一份报告,用于在 A4 纸上打印 3 x 6 的网格上的标签。这些是剥离标签,可以根据需要打印整张或仅一张。

报表的记录源是一个查询,它始终包含 18 条记录(以覆盖 3x6 网格)和 3 列:[ID] (1-18)、[LabelText] 和 [Path]。在这 18 条记录中,有时所有 18 条 LabelText 和 Path 都已填充,但有时只有前几条(其余为空""),但也可能是前 4 条为空,然后 6 条有数据,其余 8 条是空的。ID 始终填充数字 1 到 18。这样做是为了不浪费 A4 上的标签。

每个打印的标签都应包含基于 [路径] 列中给出的文件路径的不同图像。这是通过 Detail On Format 事件实现的

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
   Me.Image0.Picture = Me.path
End Sub

所有工作都有问题。

  1. 如果所有 18 个标签都填满了,那么一切都是正确的
  2. 如果说前 3 条记录已填充,则前 3 个标签获得正确的图像,但其余 15 个标签也获得最后一张图像(来自标签 3)
  3. 如果说前 3 条记录是空的,接下来的 3 条记录有数据,其余的是空的,那么前 3 个标签没有图像(应该是)标签 4-6 有正确的图像,其余的再次获得最后一个图像(来自标签 6)

我在 On Format 事件中尝试了许多不同的“If/Else”选项,但总是得到相同的结果。必须有一个简单的解决方案,但我没有看到它。

4

1 回答 1

1

由于您有路径(甚至是空的),您可以使用绑定的图像控件。

只需将其 ControlSource 设置为:Path

例如,请参阅我的项目VBA.PictureUrl中的演示。

于 2022-02-12T16:22:31.290 回答