我有一个 Access 数据库,其中有 5 个项目的复选框
这些复选框都与不同的图像相关
我希望这些图像出现在报告中,隐藏那些未勾选的图像,并隐藏位置以使外观看起来更好。
例如
image1 = true
image2 = true
image3 = false
image4 = false
image5 = true
我已经能够隐藏图像,但我更希望它们完全隐藏
我想看看
Image1 | Image2 | Image4 | Image5
而不是
Image1 | Image2 | | | Image4 | Image5
听起来您想保留图像放置位置的运行总计,然后在显示/隐藏图像的同时进行调整。 粗略版本可能如下:
Const imgStart AS Double = <SomeValue>
Const imgSpacing AS Double = <OtherValue>
Dim imgLeft AS Double
imgLeft = imgStart
With picImage1
If image1 Then
.Visible = True
.Left = imgLeft
imgLeft = imgLeft + .Width + imgSpacing
Else
.Visible = False
End If
End With
With picImage2
If image2 Then
.Visible = True
.Left = imgLeft
imgLeft = imgLeft + .Width + imgSpacing
Else
.Visible = False
End If
End With
With picImage3
If image3 Then
.Visible = True
.Left = imgLeft
imgLeft = imgLeft + .Width + imgSpacing
Else
.Visible = False
End If
End With
With picImage4
If image4 Then
.Visible = True
.Left = imgLeft
imgLeft = imgLeft + .Width + imgSpacing
Else
.Visible = False
End If
End With
With picImage5
If image5 Then
.Visible = True
.Left = imgLeft
imgLeft = imgLeft + .Width + imgSpacing
Else
.Visible = False
End If
End With
这使用
imgLeft
来跟踪 下一个 图像的左侧位置应该是什么,并在每次使图像可见时将其增加图像宽度,加上间隔符。
您可以使用循环来跟踪事物,也可以通过添加 vertical 组件来改进它:即,如果
imgLeft + .Width
大于您所需的页面宽度,那么您可以增加 imgHeight
变量并将 imgLeft = imgStart
重置为开始另一行图像