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

时间:2013-11-20 18:19:01

标签: sql combobox nested-sets

您好我有一个嵌套集表,用于在树状结构中存储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中使用表单更改事件时,它会要求另一个参数填充它应该根据第一个选定文本填充第二个组合框。

基本上,结果应该是来自第一个组合框中所选部门的下一级孩子。

我在这里缺少什么吗?当所有参数都填满时,为什么要求另一个参数?

0 个答案:

没有答案