2011-11-26 99 views
1

我使用Access 2010中創建幾個報告的可見性,我無法弄清楚如何隱藏一組,如果其空標題。更改組頭一個Microsoft Access報表

想象我有一個表,如(注:我什麼都不知道關於汽車,其只是一個例子):

 
H1 | H2  | H3  | H4  | DATA1 | DATA2 | DATA3 
car | chassis | engine | pistons | data_a1 | data_a2 | data_a3 
car | chassis | engine | pistons | data_b1 | data_b2 | data_b3 
car | chassis | engine | pistons | data_c1 | data_c2 | data_c3 
car | chassis | engine | cylinder | data_a1 | data_a2 | data_a3 
car | chassis | engine | cylinder | data_b1 | data_b2 | data_b3 
car | interior |  | seats | data_a1 | data_a2 | data_a3 
car | interior |  | seats | data_b1 | data_b2 | data_b3 

我已經得到的順序列H1,H2和H3的3名頭。我的問題是,當H3不包含文本(即「」(我認爲訪問評估爲空))我想隱藏H3的組標題,或者至少這樣做,因此它不會在報告中留出空間。目前H3空白的地方,報告仍然包含一個空行。

我已經試過類似這種在GroupHeader3的油漆或打印事件

If IsNull([H3]) Then 
    Me.GroupHeader3.Height = 0 
    Me.GroupHeader3.BackColor = vbRed 
    Me.GroupHeader3.Visible = False 
Else 
    Me.GroupHeader3.Height = 5 
    Me.GroupHeader3.BackColor = vbGreen 
End If 

的想法似乎工作,那就是如果我註釋掉可見=假線我得到一個紅色或綠色的背景在正確的地方,但它完全忽略了高度選項。 如果我把它的Visible = False抱怨它不能放在Paint事件上。

我也試圖把類似的代碼在GroupHeader2的油漆事件,但無濟於事。我得到的最接近的坐在那裏閃爍。

我有點新的VBA所以我可能失去了一些東西很明顯,但在現階段,我真的不知道如何着手,因此任何幫助,將不勝感激。

編輯 爲清楚:

該報告設計了一個有點像這樣:因此,與示例數據

 
H1 
    H2 
      H3 
       H4 
        DATA1  DATA2  DATA3 

它上面將顯示爲:

 
car 
    chassis 
       engine 
         pistons 
           data_a1 data_a2 data_a3 
           data_b1 data_b2 data_b3 
           data_c1 data_c2 data_c3 
         cylinder 
           data_a1 data_a2 data_a3 
           data_b1 data_b2 data_b3 
    interior 

         seats 
           data_a1 data_a2 data_a3 
           data_b1 data_b2 data_b3 

其空白行(組頭3)內部和我想避免的座位之間。 感謝

回答

3

您向我們展示的列標題不組頭。如果其他頭文件還在這裏,它會改變H3的高度有什麼意義?你無法以這種方式節省空間。

也許你想通過H3權由H3的寬度移動列到左躲整列H3。沒有簡單的方法來做到這一點。您將必須計算所涉及的文本字段和標籤的位置,並相應地在OnFormat事件中更改其「左」位置。

編輯:

使用取消組頭的格式事件過程的參數:

Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer) 
    Cancel = IsNull(Me!H0) 
End Sub 

由於VBA代碼永遠不會在設計模式中運行時,你只能看到其效果打印預覽和打印時。

+0

對不起,我不認爲我解釋得不夠好,我的意思是我放在上面的表格是我用作報告基礎的那種數據的一個例子。報告按H1分組,然後是H2分組,然後是H3以及報告中我想節省空間。謝謝 – m3z

+0

我已經提出了一個更好的例子 – m3z

+0

謝謝,你的編輯工作得很好。只是要注意其他人誰可能會嘗試這一點,它只適用於打印預覽和打印時。 – m3z

相關問題