2014-11-05 102 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