我需要有关Access 2007表单上的文本框字段的帮助。我正在尝试将查询结果插入到表单上的文本框控件中。这被用作用户的信息。表单为查询提供参数以获取值。查询工作正常并返回正确的结果。我似乎无法弄清楚如何将查询结果传递给文本框。我尝试了几种不同的方法,但没有运气。
(PS>我知道组合框可以进行查找,但我不希望用户只需单击下拉列表来选择值,因为查询中只能有一个值结果。)I我可以接受建议,因为我不是程序员或数据库管理员,但我在Access上学了几门课(足够危险)。
Private Sub cbo3_Change()
Me.tbx2 = ("SELECT tbl_Billing.Savings_b FROM tbl_Billing GROUP BY tbl_Billing.UBI_b, tbl_Billing.TaxYr_b, tbl_Billing.TaxPrg_b, tbl_Billing.Savings_b HAVING (((tbl_Billing.UBI_b)=forms!f1_UpBilled!cbo1) And ((tbl_Billing.TaxYr_b)=forms!f1_Upbilled!cbo2) And ((tbl_Billing.TaxPrg_b)=forms!f1_UpBilled!cbo3));")
End Sub
答案 0 :(得分:1)
如果您希望在运行时执行此操作,则需要执行以下操作,我将您所指的控件放在同一表单上。
完成它的非常简单直接的方法如下,
Private Sub cbo3_Change()
Dim tmpRS As DAO.Recordset
Set tmpRS = CurrentDb.OpenRecordset("SELECT tbl_Billing.Savings_b FROM tbl_Billing GROUP BY " & _
"tbl_Billing.UBI_b, tbl_Billing.TaxYr_b, tbl_Billing.TaxPrg_b, " & _
"tbl_Billing.Savings_b HAVING ((tbl_Billing.UBI_b = '" & Me.cbo1 & "') And (tbl_Billing.TaxYr_b = '" & Me.cbo2 & "') " & _
"And (tbl_Billing.TaxPrg_b = '" & Me.cbo3 & "'))")
If tmpRS.RecordCount > 0 Then
Me.tbx2 = tmpRS.Fields(0)
Else
Me.tbx2 = 0
End If
Set tmpRS = Nothing
End Sub
请注意,我暗示您的所有组合框都返回字符串,并且您要比较的字段是文字类型。如果不是这种情况,则需要相应地进行更改。