您好我有一个嵌套集表,用于在树状结构中存储5层部门。我已经能够使用以下查询在Access 2007中填充一个组合框。
SELECT Child.name1,Child.lft,Child.rgt 作为子项目的程序,作为父项的程序 WHERE Child.Depth = Parent.Depth + 1和Child.lft> Parent.lft和Child.rgt
我在第一个组合框的更改事件中有以下代码,试图填充更改事件的第二个。
Private Sub cmbDpmt1_Change()
Dim strSql As String
Dim strDpmtLevel1 As String
strDpmtLevel1 = Me.cmbDpmt1.Text
strSql = "SELECT Child.name1, Child.lft, Child.rgt FROM PROGRAMS AS Child, PROGRAMS AS Parent WHERE Child.Depth = Parent.Depth+1 And Child.lft > Parent.lft And Child.rgt < Parent.rgt And Parent.name1 = " & strDpmtLevel1 & " " & "ORDER BY child.lft;"
Me.cmbDpmt2.RowSource = strSql
Me.Requery
End Sub
我能够在没有表单的情况下使查询在没有错误的情况下正常工作。但是当我尝试在vba中使用表单更改事件时,它会要求另一个参数填充它应该根据第一个选定文本填充第二个组合框。
基本上,结果应该是来自第一个组合框中所选部门的下一级孩子。
我在这里缺少什么吗?当所有参数都填满时,为什么要求另一个参数?