在 MS Access 报告中隐藏图像

问题描述 投票:0回答:1

我有一个 Access 数据库,其中有 5 个项目的复选框

这些复选框都与不同的图像相关

我希望这些图像出现在报告中,隐藏那些未勾选的图像,并隐藏位置以使外观看起来更好。

例如

image1 = true
image2 = true
image3 = false
image4 = false
image5 = true

我已经能够隐藏图像,但我更希望它们完全隐藏

我想看看

Image1 | Image2 | Image4 | Image5

而不是

Image1 | Image2 |        |        | Image4 | Image5

vba ms-access report
1个回答
0
投票

听起来您想保留图像放置位置的运行总计,然后在显示/隐藏图像的同时进行调整。 粗略版本可能如下:

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
重置为开始另一行图像

© www.soinside.com 2019 - 2024. All rights reserved.