2012-01-22 10 views
1

1つの問題がありますが、回答が見つかりません。私はSQLとAccessの経験を持つ素人VBプログラマの経験です。私は最近、グループミーティングの出席を記録するプログラムを準備するように求められました。 follwoingのテーブルがあります。チックグループミーティングの出席

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 

私は各グループが毎月1回の会議を持っている...

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を試しましたが、その作業はありませんでした。私は本当に死んでしまった。

私はGroupID(ユーザ入力)を持つRecordSourceとして会議を開催しています。更新後、Sunformが更新され、グループに属するすべてのメンバーのリストに、名前の横にチェックボックスが表示されます。 Child/MasterリンクはGroupIDによるものです。

私がしようとしているのは、サブフォームに表示されるリストで、現在の人とその名前を出席tblに記録するようにしたいということです。

+0

あなたは、コードボタンを使って、あなたの投稿を読みやすくすることができます - '{}' – Fionnuala

+2

あなたは 'GroupID'と'テーブルでMemberID' 'Meetings'の両方を持っていないのはなぜ? –

+1

あなたは「各グループには毎月1回の会議があります」と言います。*したがって、「MemberID」は会議テーブルでは役に立たないようです。 –

答えて

0

メインフォームのレコードソースが会議の場合は、MeetingIdをマスター/子リンクとして使用する必要があります。

フォームでは、おそらく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 & "));" 
関連する問題