我有这样的代码:
SQL = "SELECT STA_ID, AVG(STA_INCOME) " & _
"FROM STAFF " & _
"WHERE STAFF_EXP = '" & Label1.Value & "' " & _
"GROUP BY STA_ID"
rs.Open SQL, cn
With rs
i = 0
Do Until .EOF
label2.Value = rs(1)
label3.Value = rs(0)
i = i + 1
.MoveNext
Loop
End With
我可以在标签2中检索平均STA_INCOME
,但是在标签3中只能检索一个而不是多个STU_ID
数据。我该怎么做才能显示文本框(标签3)是否与我输入的Label1.Value
相匹配的多个值?非常感谢。
答案 0 :(得分:0)
考虑将记录集循环中的所有ID和平均值串联起来以填充文本框:
' RETRIEVING SINGLE AVERAGE
avg_SQL = "SELECT AVG(STA_INCOME) " & _
"FROM STAFF " & _
"WHERE STAFF_EXP = '" & Label1.Value & "' "
rs.Open avg_SQL, cn
label2.Value = rs.Fields(0).Value
rs.Close
' RETRIEVING MULTIPLE IDs
id_SQL = "SELECT STA_ID" & _
"FROM STAFF " & _
"WHERE STAFF_EXP = '" & Label1.Value & "' " & _
"GROUP BY STA_ID"
rs.Open SQL, cn
' ITERATIVELY CONCATENATE VALUES
str_ids = ""
Do Until rs.EOF
str_ids = str_ids & rs.Fields(0).Value & vbNewLine
rs.MoveNext
Loop
label3.Value = str_ids
rs.Close