勾选小组会议的出席情况

时间:2012-01-22 23:57:25

标签: sql vb.net ms-access

有一个问题我无法找到答案。我是一名经验丰富的业余vb程序员,拥有SQL和Access经验。我最近被要求准备一个程序来记录小组会议的出席情况。有以下表格:

Members
    MemberID        AutoNumber
    GroupID         Number
    MemName         Text
    IsPresent       Y/N
Groups
    GroupID         Autonumber
    GroupName       Text
Meetings
     MeetingsID     Autonumber
     MeetingDate    Date
     GroupID        Number
     MemberID       Number
     AttendanceID   Number
Attendances
     AttendaceID    Autonumber
     MemberID       Number
     MeetingID      Number
     ISPResent      Y/N

我建立了自己的关系......

MemberID in MemberTbl with MemberID in AttendTbl....
MeetingID in AttendanceTbl with MeetingID in MeetingTbl
MemberID in membersTbl with MemberID in LodgeTbl and 
LodgeID in LodgeTbl with LodgeID in MeetingsTbl

每个小组每月举行一次会议。

我想要的是列出属于特定组的所有成员(在数据表中)的方法,其中复选框取决于它们是否出现在特定会议中。

我尝试过AppendQuieries但是没有用。我真的走到了尽头。

在主表单上,我将会议作为RecordSource与GroupID(用户输入)。更新后,Sunform会更新,并且包含属于该组的所有成员的列表会在其名称旁边显示一个复选框。子/主链接是GroupID。

我想要做的是,在子表单中显示的列表中,我希望能够勾选出席的人员,并将他们的姓名记录为出席情况。

1 个答案:

答案 0 :(得分:0)

如果主表单的记录源是Meetings,则应使用MeetingId作为Master / Child链接。

在表单上,​​可能在AfterInsert事件中放入一些代码来生成此会议的出勤记录。

currentdb.execute "INSERT INTO Attend ( MemberId, MeetingId ) SELECT Members.MemberId, Meetings.MeetingId FROM (Members INNER JOIN Groups ON Members.GroupId = Groups.GroupId) INNER JOIN Meetings ON Groups.GroupId = Meetings.GroupId WHERE (((Meetings.MeetingId)=" & me.MeetingId & "));"