我目前正在创建一个Access数据库,其中我有一个代理商表和一个他们可能提供的潜在服务表。我正在制作一份表格,以输入代理商的详细信息,但由于所提供服务的数据位于不同的表格中,我相信我将需要一个子表格将所有服务显示为复选框。
我有以下表格设置:
Agency AgencyServices Services
------ -------------- --------
agencyID agencyID serviceID
agencyName serviceID serviceName
我创建了一个表格,其中显示了代理商的所有详细信息,但我遇到了试图显示所有潜在服务的部分。我希望能够显示所有服务以及旁边的复选框,以便显示的任何代理商将显示他们提供的服务已检查,以及向系统添加新代理时所有检查将显示-boxes以供选择。
在使用此数据库的过程中,很可能会在Service表中添加其他服务,因此我无法在表单上创建一堆静态复选框。如果有人能指出我正确的方向,我可能会寻找更有活力的方法。我不太熟悉Access,所以任何帮助都会受到赞赏。
感谢。
答案 0 :(得分:0)
我建议使用绑定到临时表的子表单。 AgencyServicesTmp(serviceID,serviceName,提供)。提供是/否字段。对于当前正在查看的任何代理商,请从查询中填充表格{警告空中代码!}选择服务LEFT JOIN(SELECT * FROM AgencyServices WHERE agencyID)中提供的serviceId,serviceName,IIF(AGS.serviceID IS NULL,False,True) = Forms!frmAgency!agencyID)服务。服务ID = AGS.serviceID上的AGS。 然后在子窗体的before_Update事件中,添加代码以在用户检查“提供”时将新记录插入AgencyServices,或者在用户取消检查时删除AgencyServices中的相应记录。