2014-11-05 70 views
0

我目前正在創建一個Access數據庫,其中有一個代理表和他們可能提供的潛在服務表。我正在製作一個表單來輸入代理機構的詳細信息,但由於提供的服務數據位於不同的表格中,我相信我需要一個子表單將所有服務顯示爲複選框。訪問2013 - 表單上的複選框

我有如下表設置:

Agency   AgencyServices   Services 
------   --------------   -------- 
agencyID   agencyID     serviceID 
agencyName  serviceID     serviceName 

我與原子能機構的所有細節創建的窗體被顯示,但我也碰到過,我在嘗試顯示所有潛在的服務的一部分。我希望能夠顯示所有服務以及旁邊的複選框,以便所顯示的任何代理機構都將顯示他們提供的已檢查服務,以及向系統添加新代理機構時的所有支票將顯示框供選擇。

在使用這個數據庫的過程中,更多的服務可能會被添加到服務表中,因此我無法在表單上創建一堆靜態複選框。如果任何人都能指出我正確的方向,我可能會尋找更具活力的方法。我不太熟悉Access,所以任何幫助,將不勝感激。

謝謝。

+0

這將是一個更容易與MS Access一起工作,並具有代理服務機構形式與服務作爲組合框的子窗體(例如http://stackoverflow.com/questions/12131211/create-form-to-add -records入多桌/ 12132196#12132196)。 – Fionnuala 2014-11-05 12:54:06

回答

0

我會建議使用綁定到臨時表的子表單。 AgencyServicesTmp(serviceID,serviceName,提供)。提供一個是/否的字段。對於當前正在查看的任何代理機構,從查詢填充表{alert air code!}從提供的服務中選擇serviceId,serviceName,IIF(AGS.serviceID IS NULL,False,True)FROM服務LEFT JOIN(SELECT * FROM AgencyServices WHERE agencyID = Forms!frmAgency!agencyID)Services.serviceID = AGS.serviceID上的AGS。 然後在子窗體的before_Update事件中,如果用戶選中'提供',則添加代碼以將新記錄插入到AgencyServices中,或者在用戶取消檢查時刪除AgencyServices中的相應記錄。

+0

不是一個好主意。 – Fionnuala 2014-11-05 15:32:54

+0

Fionnuala,如果你認爲這不是一個好主意,你應該說明原因。 – AVG 2014-11-05 19:08:17