2012-01-06 79 views
0

我正在構建一個子報表並且有兩個表,我使用的是一個字段,每個字段包含一個電話號碼。Crystal Reports:如果另一個記錄爲空,則顯示一條記錄,反之亦然

原來的號碼{} TABLE1.ORG

臨時編號{} TABLE2.TEM

我想要什麼:

如果{} TABLE2.TEM不爲空,然後隱藏{TABLE1 .ORG},否則顯示{TABLE1.ORG}

我試圖使用上面的公式,但它不起作用太既然這兩個字段都來自兩個不同的表,如果將它們放在一起彼此相鄰(沒有任何公式或抑制)設計模式:

{} TABLE1.ORG{} TABLE2.TEM

...我看到他們在預覽模式不同的線路:

    +971 4 321321321 

+971 4 123123123 

也許是因爲該公式讀取記錄並從同一行進行評估,我猜這就是上述原因無法正常工作的原因。

回答

0

這並不是很明顯,爲什麼這兩個字段在預覽模式下出現在不同的行上,但這不可能是因爲它們來自不同的表格 - 更可能是因爲它們的佈局空間不足以一行顯示,因此它們正在增長到可顯示的大小。

有條件地抑制{} TABLE1.ORG基於其他字段是否不爲空:

  • 上右鍵單擊{} TABLE1.ORG並選擇格式化現場...
  • 在Common在格式編輯器對話框中,單擊條件禁止公式按鈕x-2並在格式公式編輯器中輸入公式not IsNull ({TABLE2.TEM})
  • 單擊保存並關閉以退出格式公式編輯器,然後單擊確定退出格式編輯器對話框。

如果您現在預覽報表,則應該發現{TABLE1.ORG}在{TABLE2.TEM}不爲null時被取消。

需要注意的是,如果你做的同時顯示領域上對方是否爲空的條件,然後將被禁止在那裏也不是零。

+0

Hi @ Mark-bannister,謝謝你的回覆。我恐怕這不起作用。我理解的原因是這兩個值來自兩個不同的表格,這些表格中的值從**主事件表格中被推送到這些表格中**這兩個表格僅與主表格鏈接,並且彼此之間沒有鏈接。我無權修改數據庫,因此必須查看是否可以通過Crystal Report自行運行SQL查詢。順便說一句我正在使用版本。 11 – user1134459 2012-01-06 20:27:27

+0

@ user1134459:你的評論不清楚 - 也許你可以擴展你的問題來包括哪些表被訪問,以及如何?如果您已經在同一個報表中(而不是通過子報表)包含兩個表中的值,那麼這隻能是因爲所有三個表(TABLE1,TABLE2和主表)都已經在報表中鏈接在一起。 – 2012-01-07 08:59:12

相關問題