我正在開發一個傳統的Access CRM,爲此我負責添加一些額外的功能以支持我們,直到我們切換到適當的解決方案。顯示來自多個表格的結果
我有一系列的表格表示一個案例和各種類型的案例筆記之間的一對多連接。這些案例筆記都代表特定於給定工作流程的各種類型的信息(即進入我們數據庫的電子郵件需要具有特定字段,這與調用不同),因此每種不同類型的案例筆記都由不同的表格。所以,我的表看起來像
- 案件
- ID
- 標題
- 等...
- Case_Emails
- ID
- 案例ID
- 到電子郵件
- 從電子郵件
- 等...
- Case_Calls
- ID
- 案例ID
- 來電電子郵件
- 等...
其中在諸如電子郵件之類的個案註釋之間存在一些共享字段。一個需要的功能是根據與案例相關的先前筆記以及默認值(在我們的日常操作中常用的電子郵件地址),將電子郵件地址列表過濾到ComboBox中。
目前,我正在使用VBA打開每個表的查詢,然後遍歷RecordSet捕獲唯一值。但是,如果可能的話,我想從相同的查詢中提取這些內容。
我一直在閱讀各種類型的JOIN,我不相信他們做我需要的東西。
我可以組合不同表中的某些字段來創建唯一值列表嗎?
這不是您可以輕鬆使用Access或SQL執行的操作。這對我來說看起來像是一個EAV結構,我假定表「Cases」與來自表「Case_Emails」或「Case_Calls」中的至少一條記錄相匹配。如果這是真的,最簡單的解決方法是將「To Email」和「Caller Email」移動到名爲「Email」的「Cases」表中。 「從電子郵件」應該可以保持。一旦表格規範化後,應該很容易找到唯一的電子郵件地址。雖然我不會循環記錄集。使用SQL。 'SELECT DISTINCT Cases。[Email] FROM Cases;' – MoondogsMaDawg
看看UNION – Rene
@ChristopherD .:它看起來不像EAV。僅僅因爲兩個實體具有共同的屬性並不一定意味着該屬性應該被提取到共享實體中(例如名稱,價格,數量等)。 – onedaywhen