MS ACCESS:使用另一个表中的数据填充子表单

时间:2011-11-14 21:38:48

标签: ms-access relational-database subform

我的Access数据库中有三个表。

**Table: Participants** 
ParticipantID   
FirstName   
LastName    
Address
Phone
SiteNameLookup  
YearLookup

**Table: DailyWorkshops**   
WkshpID 
WkshpDate   
AorB    
SiteStaff   
Artists 
Activities

**Table:  ParticipantAttendance**   
ParticipantID   Participants.ParticipantID
FirstName   Participants.FirstName
LastName    Participants.LastName
WkshpID DailyWorkshops.WkshpID
Level   *(here I have a lookup to fill in HALF/PARTIAL/FULL, not just yes/no)*

我成功创建了一个表格DailyWorkshopsForm,其中包含ParticipantAttendance的子表单。此子表单完全空白。

我现在如何从参与者表单填充ParticipantAttendance子表单,这样我所要做的就是检查每个参与者的出勤级别?我可以弄清楚如何查找Participant.ParticipantID或只是Participant.FirstName或只是Participant.LastName ---但查找一个不会自动填写其他...所以我最终可能会查找ID#但是没有得到它的名字。


编辑:澄清问题&问题

谢谢...当我看到它时,我发现ParticipantAttendance不是子表单应该是什么......这只是出勤数据最终应该存在的表格。我需要的子窗体是这样的:

WkshpID ParticipantID   FirstName  Lastname  Level

6   10-45   Bart    Simpson     Full

6   10-47   Ned Flanders    Half

6   10-49   George  Washington  None

6   10-50   Michelle Obama          Full

7   10-45   Bart    Simpson         Full

7   10-47   Ned Flanders    Full

7   10-49   George  Washington  Half

7   10-50   Michelle Obama          None

8   10-45   Bart    Simpson          Full

8   10-47   Ned Flanders    None

8   10-49   George  Washington  Half

8   10-50   Michelle  Obama     Half`

1 个答案:

答案 0 :(得分:0)

如果查看子表单的属性,您将看到有一种方法可以指示父表单和子表单之间的“外键”关系(查看“数据”,“链接主字段” “链接儿童领域”)。在您的情况下,您需要链接两个表的字段WkshpID。

然后在您的子表单中使用普通SQL查询SELECT * FROM ParticipantAttendance,MS Access将使用父表单中的外键关系自动强加WHERE条件,并且只要您导航到其他数据,就会适时更新您父表单中的行。