2012-01-22 2 views
1

한 가지 문제가 있습니다. 답을 찾을 수 없습니다. 나는 경험이 SQL 및 액세스 경험 아마추어 VB 프로그래머입니다. 나는 최근에 그룹 회의 참석자들을 기록하기위한 프로그램을 준비하도록 요청 받았다. 때라도 테이블이 있습니다 각 그룹은 1 회의 매월있다틱 그룹 회의 출석

내 관계를 만들어
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를 시도했지만 그게 효과가 없습니다. 나는 정말로 막 다른 골목에왔다.

기본 양식에는 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 & "));"