今天我已經拋出了相當多的情況。基本上,我有一個存放記錄的表格(ProjTransPosting),該表格涉及許多類似結構的表格(ProjCostTrans,ProjRevenueTrans等)。它們與TransId相關,但每個TransId只與子表的數量中的一個相關(即,如果ProjCostTrans中存在137的TransId,則ProjRevenueTrans中不能有137的TransId)。子表的模式是相同的。來自網格中的一列中的多個數據源的數據
所以,我最初的想法是創建一個Map並創建來自各種子表的映射。然後,我會將該Map用作表單中的一個數據源,因此所有內容都可以顯示在一列中。我創建了Map和Children表之間的所有關係以及與父表的關係。我把Map作爲一個數據源放在表單中,這導致了一個空白的Grid,儘管我不知道爲什麼。在任何給定時間,Map對象只能有一種表類型嗎?我認爲這樣做的目的是它可以是通用的,並可作爲許多記錄類型的緩衝區。我想追求這條路線,因爲這絕對會達到我期待的目標。
在失敗了,我被迫安排我的數據源來執行這樣的事情:SELECT ProjTransPosting LEFT JOIN ProjCostTrans LEFT JOIN ProjRevenueTrans ...這個問題是,我附加的每個子表,它創建額外的列,其他列的值全部爲NULL(AX中爲空白)。所以,我有這樣的事情:
Parent.TransId ChildA.Field ChildB.Field ChildC.Field
1 NULL 1256 NULL
2 1395 NULL NULL
3 NULL 4762 NULL
4 NULL NULL 1256
通常情況下,用戶將處理具有額外的列顯示的煩惱,但他們希望也能夠在所有的孩子表中的字段進行篩選。我上面的例子中,他們希望能夠過濾「1256」,結果將返回TransIds 1和4,但很明顯,因爲這種情況下的值分散在多列中,所以用戶無法完成。
理想情況下,地圖將「合併」這些列爲一個,然後用戶可以輕鬆過濾。關於如何繼續這個的任何想法?
這解決了它,謝謝 – codemann8 2014-12-08 20:36:38