2

MS Access 2007 を使用して、学生管理データベースを作成しています。次のテーブルがあります。

  • 学生
  • コース
  • コース区分

私が必要としていたのは、学生をコースセクションに割り当てる方法です。そこで、学生とセッションをリンクするテーブルを作成しました。

  • StudentsInSection (学生への外部キーとコース セクションへの外部キーを含む)

セクションを編集し、学生のリストから学生を追加できるフォームを作成したいと考えています。私は多くのリレーショナル データベースの作業を行ってきましたが、アクセスを伴うことはありませんでした。そんな単純なことのように思えます。これを行う良い方法を知っている人はいますか?

4

2 に答える 2

2

StudentInSectionテーブルにバインドされたフォームを作成します。セクション内の学生を編集できるようにする場合、最も簡単な方法は、レコードセット内の学生IDに関連付けられたコンボボックスのバインドされた列を持つStudentsテーブルに基づく行ソースを持つコンボボックスを使用することです。 StudentInSectionフォームの基礎になります。このフォームがサブフォームになります。フォームのデフォルトビュープロパティを「データシート」または「連続フォーム」に設定します。フォームを保存して閉じます。

CourseSectionテーブルにバインドされたフォームを作成します。[フォーム]リストから、StudentsInSectionテーブルに基づく最初のフォームをクリックしてCourseSectionフォームのデザイン領域にドラッグします。

新しいサブフォームコントロールのプロパティシートで、LinkMasterFieldsプロパティをCourseSectionテーブルのセクションIDに設定します。Link Child Fieldsプロパティで、StudentsInSectionテーブルのセクションIDに値を設定します。これらのプロパティを設定すると、レコードがナビゲートされるときに親フォームの現在の値と一致するようにサブフォームデータがフィルタリングされます。

于 2008-11-19T16:32:37.790 に答える
1

最も簡単な方法は、メイン フォームからサブフォームを作成することです。メイン フォームは Students に基づいており、サブフォームは StudentsSection に基づいています。サブフォームに、コースを選択するプルダウンを追加します。

そうすれば、StudentSection には親フォームからの StudentID (キーだと思います) が取り込まれ、プルダウンを設定するときに CourseID を設定できます。

于 2008-11-19T15:11:56.953 に答える