使用vba的报表中的动态标签标题

时间:2016-10-05 02:55:17

标签: vba ms-access access-vba ms-access-2010

我正在为我大学的学生设计一张单独的成绩单。我有一张名为" tbl_student"他们的标记存储在哪里。我有6列6个不同科目。学生只能选择5个科目,即4个科目,计算机和数学是可选科目,学生可以选择其中任何一科目 现在,如果一个标准选择Comp。然后数学列中的标记为0,同样适用于数学。 我正在尝试为10名学生打印个人成绩单。但是可选的标签之一应该根据列的值显示计算机或数学。 这是我试过的代码

'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

结果是所有标签的标题都是相同的。

1 个答案:

答案 0 :(得分:2)

如果要在报表/表单中为不同的行显示不同的值,则应使用绑定的文本框。标签和未绑定的文本框对于详细信息部分中的所有行都是相同的。在基本查询中为可选标签添加新的计算列,并使用它而不是标签。