本帖最后由 st5173413161 于 2009-06-05 12:27:20 编辑

解决方案 »

  1.   

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset'首先,实现第一个 Combo 的初始化Private Sub Form_Load()
    Set cn = New ADODB.Connection
    cn.Open "你的连接字符串"Set rs = cn.Execute("SELECT DISTINCT 院系名称 FROM 课程表 ORDER BY 院系名称")
    Do Unitl rs.EOF
        Combo1.AddItem rs!院系名称
        rs.MoveNext
    Loop
    If Combo1.ListCount Then Combo1.ListIndex = 0
    End Sub'处理 Combo1 的 Click 事件
    Private Sub Combo1_Click()Set rs = cn.Execute("SELECT DISTINCT 班级 FROM 课程表 WHERE 院系名称='" & Combo1.List(Combo1.ListIndex) & "' ORDER BY 班级")
    Combo2.Clear
    Do Unitl rs.EOF
        Combo2.AddItem rs!班级
        rs.MoveNext
    Loop
    If Combo2.ListCount Then Combo2.ListIndex = 0End Sub'处理 Combo2 的 Click 事件
    Private Sub Combo2_Click()Set rs = cn.Execute("SELECT DISTINCT 课程名称 FROM 课程表 WHERE 院系名称='" & Combo1.List(Combo1.ListIndex) & "' AND 班级='" & Combo2.List(Combo2.ListIndex) & "' ORDER BY 课程名称")
    Combo3.Clear
    Do Unitl rs.EOF
        Combo3.AddItem rs!课程名称
        rs.MoveNext
    Loop
    If Combo3.ListCount Then Combo3.ListIndex = 0End Sub启动后会自动载入第一个学院第一个班级的课程。
    以后进行选择时,会自动重新加载。
      

  2.   

    楼上我照你的做后出现
    Private Sub Combo1_Click() Set rs = cn.Execute("SELECT DISTINCT 班级 FROM 课程表 WHERE 院系名称='" & Combo1.List(Combo1.ListIndex) & "' ORDER BY 班级") 
    Combo2.Clear 
    Do Unitl rs.EOF 
        Combo2.AddItem rs!班级 
        rs.MoveNext 
    Loop 
    If Combo2.ListCount Then Combo2.ListIndex = 0 End Sub
    出现实时错误“94”无效使用null