私の大学生のための個別のレポートカードをデザインしようとしています。私は彼らのマークが格納されている "tbl_student"と呼ばれるテーブルを持っています。 6つの異なる科目に6つの列があります。学生は5つの科目、すなわち4つの科目のみを選択することができ、コンピュータと数学はいずれかの科目を選択できる任意の科目です。
stdがCompを選択すると、数学の列の印は0、同様に数学です。 私は10人の学生のための個々のレポートカードを印刷しようとしています。しかし、オプションのラベルの1つは、列の値に基づいてコンピュータまたは数学を表示する必要があります。 は、ここで私は結果が、それはすべての生徒に同じすべてのラベルをキャプションれvbaを使用したレポートの動的ラベルのキャプション
'declare the variables
Dim d As Database
Dim r As Recordset
Dim comp As Field, maths As Field
'the data from the table
Set d = CurrentDb()
Set r = d.OpenRecordset("tbl_student")
Set id = r.Fields("Student ID")
Set comp = r.Fields("Computer")
Set maths = r.Fields("Mathematics")
'check for the column value
While Not r.EOF
If (comp = 0) Then
Me.labelOptional.Caption = "Mathematics"
ElseIf (maths = 0) Then
Me.labelOptional.Caption = "Computer"
Else
Me.labelOptional.Caption = "none"
End If
しようとしたコードです。
「6種類の科目に6つの列があります」悪い悪い考え。コースごとに学生1人につき結果を保存する必要があります。正規化を読んでください。 – Rene