根据前一个字段填充另一个表单中的值

时间:2012-09-29 12:43:50

标签: vba ms-access ms-access-2007 access-vba

我正在为学校创建一个简单的数据库。我目前有两种形式,即 frmStudents frmGrades 。我使用成绩来指代1级,2级,3级,12级而不是考试成绩。 frmGrades包含字段 grade (主键)和费用。 frmStudents包含 ID (主键),名称成绩费用等。该ID是自动的生成的数字,名称是文本,等级链接到frmGrades中的字段等级。

我打算先使用frmGrades输入所有等级和相应的费用。然后我会将学生信息输入到frmStudents中,从成绩列表中选择一个成绩。我的问题是如何根据所选等级自动填充费用值?

我需要在VBA中实现这一点,但我根本不熟悉这种语言。在伪代码中,这正是我想要实现的目标:

Private Sub frmStudents_Grade_AfterUpdate()

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

End Sub

我希望我的问题很明确。提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,你真的想这样做吗?费用已经在成绩中提供,所以你需要学生吗?如果你这样做,是因为费用变了吗?此外,学生每年不会收取不同的费用和成绩,因此您需要第三张表格:

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)