Sql 如何使用嵌套集合表用另一个组合框填充Access 2007组合框

Sql 如何使用嵌套集合表用另一个组合框填充Access 2007组合框,sql,combobox,nested-sets,Sql,Combobox,Nested Sets,嗨,我有一个嵌套的集合表,用于以树状结构存储5层部门。我已经能够用下面的查询填充Access 2007中的一个组合框 选择Child.name1、Child.lft、Child.rgt 从作为子程序的程序,到作为父程序的程序 其中Child.Depth=Parent.Depth+1和Child.lft>Parent.lft和Child.rgt 我在第一个组合框的更改事件中有以下代码,试图在更改事件中填充第二个组合框 Private Sub cmbDpmt1_Change() Dim s

嗨,我有一个嵌套的集合表,用于以树状结构存储5层部门。我已经能够用下面的查询填充Access 2007中的一个组合框

选择Child.name1、Child.lft、Child.rgt 从作为子程序的程序,到作为父程序的程序 其中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
私人子cmbDpmt1_变更()
作为字符串的Dim strSql
作为字符串的Dim strDpmtLevel1
strDpmtLevel1=Me.cmbDpmt1.Text
strSql=“选择Child.name1、Child.lft、Child.rgt作为子程序,程序作为父程序,其中Child.Depth=Parent.Depth+1和Child.lft>Parent.lft和Child.rgt
我能够让查询在数据库中正常工作,而不需要表单本身。但是,当我尝试以这种方式在vba中使用form change事件时,它会要求另一个参数来填充它应该根据第一个组合框中选定的文本填充第二个组合框的位置

基本上,结果应该是在第一个组合框中选择的部门的下一级别的孩子

这里有我遗漏的东西吗?当所有参数都已填充时,为什么它会要求另一个参数