2016-06-10 30 views
0

我有一箇舊的數據庫,用於跟蹤員工參加培訓活動。每條記錄都是一名僱員,並且遵循基本的名字/姓氏電話號碼等......大約有150個字段代表過去的事件,每個都有一個是/否的複選框,表明該員工是否參加了該事件。試圖創建一個表單上的字段名稱的條件列表

我有一個允許員工記錄輕鬆查看和編輯的表單。我目前擁有一個龐大的事件清單,其複選框與主表中的相應字段綁定。

我需要創建一個當前正在查看的員工參加的事件列表,以便顯示爲指定員工檢查的所有字段名稱。

我知道我正在使用的數據庫的設計顯然是不完善的,但有沒有什麼辦法可以做到這一點?

在此先感謝!

+0

這些複選框字段的命名方式是否一致?有許多方法可以遍歷表中的字段,因此如果獲得爲每個員工檢查的複選框的字段名稱列表,您就可以完成所需的任務,那麼就有一種方法。 – SunKnight0

+0

這個問題看起來幾乎與[有沒有一種方法來有條件地列出訪問表單上的字段名稱?](http://stackoverflow.com/q/37737283/77335)。這個問題的答案是否給你你需要的東西?如果不是,這個問題又有什麼不同? – HansUp

+0

是的,名字很好,如果這是你的意思,那麼獲得一個原始名稱的列表將是可以接受的。 – User999

回答

2

你基本上需要「逆透視」的〜150分爲每個事件列到一個臨時表

EmployeeID EventID 
---------- ------- 
     1 event1 
     1 event3 
     1 event7 

在Access中最常見的方式,以「逆透視」是UNION ALL一系列單獨的SELECT的。但是,這僅適用於大約十幾個UNION(之後Access會引發「查詢太複雜」錯誤),因此您必須將其分解爲更小的「事件」字段組,並將結果存儲在臨時表。

爲了避免必須一遍又一遍地做那些混亂的「不透明」,你應該修正你的數據庫結構,使這個「未轉移」的表永久化,擺脫另一個表中的〜150字段。這是「短期痛苦,長期收益」的經典案例。

相關問題