簡體   English   中英

僅在MS Access 2003報表中打印非空字段

[英]Printing non-null fields only in MS Access 2003 report

我正在嘗試生成一份報告,其來源是一種表格,並且僅打印不為null的字段。

為此,我為每個字段都有兩個文本框。 它們都可以調整大小(可以縮小/增長)。 第一個文本框用於標題,其來源是

=IIf([record] Is Null,"","Caption:")

第二個是記錄值本身。 如果record為null,則兩個文本框的值均為“”,並且為null,並且它們都不會出現,也不占用任何空格。

兩個問題:

  1. 這似乎不是最聰明的方法。 有人有更好的主意嗎?
  2. 該報告還包含復選框,並且僅當我在生成報告之前選中/取消選中至少一個復選框時,此方法才有效。 否則,所有標題都會出現。 這很奇怪-任何人都不知道為什么會發生?

這僅適用於“打印預覽”,而不適用於MS Access 2010報表或布局視圖。 您將需要在控件上可以縮小以縮小差距。 在Access 2010中,“ * _ Label”是分配給控件標簽的默認名稱。

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Dim ctl As Control

    For Each ctl In Me.Controls
        If ctl.ControlType = acLabel And ctl.Name Like "*_Label" Then
            ctl.Visible = Not IsNull(ctl.Parent)

            ''Bound checkboxes are never null, so hide false
            If ctl.Parent.ControlType = acCheckBox Then
                ctl.Visible = ctl.Parent
                ctl.Parent.Visible = ctl.Parent
            End If

        End If
    Next

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM