1

学校用の簡単なデータベースを作成しています。現在、frmStudentsfrmGradesという 2 つのフォームがあります。私は、試験の成績ではなく、1 年生、2 年生、3 年生、..、12 年生を指すために成績を使用します。frmGrades には、フィールドgrade (主キー) とFeesが含まれています。frmStudents には、ID (主キー)、namegrade料金などが含まれます。ID は自動生成された番号、name はテキスト、 grade は frmGrades のフィールド grade にリンクされています。

最初に frmGrades を使用して、すべての成績と対応する料金を入力するつもりです。次に、成績リストから成績の 1 つを選択して、学生の情報を frmStudents に入力します。私の問題は、選択した等級に基づいて手数料の値をどのように自動入力するかです。

VBAでこれを達成する必要がありますが、言語にまったく慣れていません。疑似コードでは、これは私が達成しようとしているものです:

Private Sub frmStudents_Grade_AfterUpdate()

    frmStudents.Fees.text = "Select Fees from frmGrades where frmGrades.Grade = frmStudents.Grade"

End Sub

私の質問が明確であることを願っています。前もって感謝します。

4

1 に答える 1

0

まず、本当にやりたいですか?料金はGradesですでに利用可能ですが、Studentで必要ですか?もしそうなら、料金が変わるからですか?また、学生は毎年異なる料金と学年を持っているのではないので、3 番目のテーブルが必要になります。

StudentID
Date
Grade
Fee

ただし、デザインが非常に単純な場合は、成績のコンボに料金を列として含め、コンボ列から学生料金にバインドされたテキスト ボックスを更新します。

学生フォームの成績コンボ

Row Source: SELECT Grade, Fee FROM Grades ORDER BY Grade
Bound Column : 1
Column Count : 2
Column Widthes: 2,0

更新後

Me.txtFee = Me.cboGrade.Column(1)
于 2012-09-29T13:31:31.833 に答える