It needs 3 tables to resolve the many-to-many relationship between committees and members when recording membership. I would also have meetings and attendance tables. The committees, members and meetings table should have an auto-serial id # field, validated as filled in and unique. The tables would have this type of data:
Committees
CommitteeID - auto serial primary key
Name
Date formed
Purpose
Any other info about a committee
Members
MemberID - auto serial primary key
FirstName
LastName
Address & contact fields
Any other info about a member
Meetings
MeetingID - auto serial primary key
CommitteeID - foreign key
Date
Purpose
Any other info about a meeting
Membership
CommitteeID - foreign key
MemberID - foreign key
DateJoined
Any other info about the person's membership of a committee
Attendance
MemberID - foreign key
MeetingID - foreign key
Attended - yes/no
Reason - for non attendance
Any other info about an attendance by a person
You would join Committees to Membership on CommitteeID and Membership to Members on MemberID. Join Committees to Attendance on CommitteeID and Attendance to an alias of Members (Members:2) on MemberID.
You need three forms based on Committees, Members:1 and Meetings for basic data entry.
On either the Committees or Members form, a repeating panel based on Membership can be used to record who's on which committees.
The meetings form would have a repeating panel based on Attendance to record attendance. You can either create attendance records with a macro or script that for each record in Membership for the selected committee, creates an attendance record. Alternatively you can create them by hand. Put the Attendance.MemberID field in the repeating panel and make it a drop down list created from Membership.MemberID filtered by Membership.CommitteeID matching the current value in Meetings.CommitteeID.
That should get you started.
Paul Bent
Northwind IT Systems