基于另一个组合框更改组合框的行源

问题描述 投票:0回答:1

我具有frmDatasheet中包含的形式frmComboHolderNavigationSubformfrmDatasheet绑定到表tblBuilding。表格frmComboHolder包含两个组合框。

组合框用于过滤记录,使数据库更加用户友好。

我想根据显示在rowSoruce上的过滤结果来更改combo2frmDatasheet

Private Sub Form_Load()

Dim Qry1 As String As String
Dim Qry2 As String String

Qry1 = "SELECT DISTINCT Room FROM tblBuilding WHERE Room IS NOT NULL"
Qry2 = "SELECT DISTINCT TenancyCode FROM tblBuilding WHERE TenancyCode IS 
NOT NULL"

With Me.cobo1
Me.combo1.RowSource = Qry1
End With

With Me.combo2
Me.combo2.RowSource = Qry2
End With

End Sub


Private Sub cobo1_AfterUpdate()

Dim Qry3 As String
Dim Qry4 As String

Qry3 = "SELECT * FROM tblBuilding WHERE Room = combo1.Value  ORDER BY 
ItemName ASC"

With Me.Combo1
Me.frmDatasheet.Form.RecordSource = Qry3

Me.combo2.RowSourse = "SELECT DISTINCT TenancyCode FROM [Qry3] WHERE 
TenancyCode IS NOT NULL" 

End With

End Sub
vba ms-access access-vba
1个回答
1
投票

尝试连接值:

Qry3 = "SELECT DISTINCT TenancyCode, Room FROM tblBuilding WHERE Room = " & combo1.Value & " ORDER BY 
ItemName ASC"

或者,如果值是文本:

Qry3 = "SELECT DISTINCT TenancyCode, Room FROM tblBuilding WHERE Room = '" & combo1.Value & "' ORDER BY 
ItemName ASC"
© www.soinside.com 2019 - 2024. All rights reserved.