我的accsee有3张表,一张是学校,里面有5所学校;第二张是年级;第三张是班级;功能就是要使全部学校名称显示出来,然后每所学校每个班级都能显示3个班,问如何解决这一问题,谢了!对了,我把运行效果传上来了!

模块部分
Public Function ExecuteSQL(ByVal sql As String) As ADODB.Recordset
Dim mycon As ADODB.connection
Dim rst As ADODB.Recordset
Set mycon = New ADODB.connection
mycon.ConnectionString = connstring
mycon.open
Dim stokens() As String
On Error GoTo exectuesql_error
stokens = Split(sql)
If InStr("INSER,DELETE,UPDATE", UCase(stokens(0))) Then
      mycon.Execute sql
Else
  Set rst = New ADODB.Recordset
  rst.open Trim(sql), mycon, adOpenKeyset, adLockOptimistic
 Set ExecuteSQL = rst
End If
exectuesql_exit:
  Set rst = Nothing
  Set mycon = Nothing
  Exit Function
exectuesql_error:
  Resume exectuesql_exit
End Function

窗体通用部分
Public Sub tree()
TreeView1.Nodes.Clear
Dim nodex As Node
Dim mrc As ADODB.Recordset
Dim mrc1 As ADODB.Recordset
Dim mrc2 As ADODB.Recordset
Dim ban As String
Dim i As Integer
Dim j As Integer

Dim str As String
Dim a As String

a = "学校"
'TreeView1.LineStyle = tvwRootLines
str = "select distinct 学校 from xuexiao order by 学校"
Set mrc = ExecuteSQL(str)
 str = "select distinct 年级 from 年级 order by 年级"
Set mrc1 = ExecuteSQL(str)
str = "select distinct 班级 from 班级 order by 班级"
Set mrc2 = ExecuteSQL(str)
 mrc.MoveFirst
  Set nodex = TreeView1.Nodes.add(, , a, mrc.Fields("学校"), 1, 1)
  mrc.MoveNext
ban = mrc1.Fields("年级")
 For i = 0 To mrc1.RecordCount - 1
    If mrc1.Fields(0) = mrc1.Fields(0) Then
                     Set nodex = TreeView1.Nodes.add(a, tvwChild, mrc1.Fields(0), mrc1.Fields("年级"), 1, 1)
                                   End If
                               nodex.Sorted = True
                     mrc1.MoveNext
                     Next
                             For j = 0 To mrc2.RecordCount - 1
                         If mrc2.Fields(0) = mrc2.Fields(0) Then
                             Set nodex = TreeView1.Nodes.add(ban, tvwChild, mrc2.Fields(0), mrc2.Fields(0), 1, 1)
                               End If
                                mrc2.MoveNext
                     Next
        mrc.close
        mrc1.close
         mrc2.close
      Set mrc = Nothing
  Set mrc1 = Nothing
   Set mrc2 = Nothing
End Sub
只能通过一级循环,怎么回事?