0

Access データベースに 3 つのテーブルがあります。

**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)*

ParticipantAttendance のサブフォームを持つフォーム DailyWorkshopsForm を正常に作成しました。このサブフォームは完全に空白です。

参加者フォームから ParticipantAttendance サブフォームに入力するにはどうすればよいですか?各参加者の出席レベルを確認するだけで済みます。Participant.ParticipantID だけ、または Participant.FirstName だけ、または Participant.LastName だけを検索する方法を理解できますが、1 つを検索しても他の情報が自動的に入力されるわけではありません... したがって、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`
4

1 に答える 1

0

サブフォームのプロパティを見ると、親フォームとサブフォームの間に「外部キー」関係を示す方法があることがわかります (「データ」、「リンク マスター フィールド」から「リンク」を見てください)。子フィールド」)。あなたの場合、両方のテーブルのフィールド WkshpID をリンクする必要があります。

次に、サブフォームのように通常の SQL クエリを使用するだけSELECT * FROM ParticipantAttendanceで、親フォームの外部キー関係を使用して MS Access によって WHERE 条件が自動的に課され、親フォームの他のデータ行に移動する限り、適切に更新されます。

于 2011-11-14T22:42:38.517 に答える