1.假設某個學校有六個年級,每個年級都有N個班,每個班有N個學生.2.現在想增加新學生.要求通過下拉式表來選擇增加.年級:一年級    班級:隨年級變化而變化   學生姓名:又隨班級變化而變化. 
     二年級
      ...
     六年級3.請問怎樣去實現它?(簡單點^_^)

解决方案 »

  1.   

    偶的方法是:是用DBcombo控件
    dbcombo1-----年級(DBCombo1_Change:select 班級 from class where dbcombo1.text=年級)dbcombo2-----班級(DBCombo2_Change:select 學生姓名 from class where dbcombo2.text=班級)dbcombo3-----學生姓名
    這三個共用一個數據表class.
      

  2.   

    在年级的Combo_Click()过程中,重新添加班级Combo的选项;
    在班级的Combo_Click()过程中,重新添加学生Combo的选项
      

  3.   

    给个 email  我给你实现了,把代码给你  
    emailto:  [email protected]
      

  4.   

    數據之間最好不要斷層,現在是為了查詢以後的添加及刪除等等.不知这样行不行
    在一个表中有班级、年级这些字段可以往里写数据
    然后再建一些由年级班级命名的表
    这样可以方便得查询請提供代碼,謝謝!
    my e-mail:[email protected]
    给个 email  我给你实现了,把代码给你  
    emailto:  [email protected]
      

  5.   

    能再詳細點嗎?高手們回答總是這麼簡單!^_^
    在年级的Combo_Click()过程中,重新添加班级Combo的选项;
    在班级的Combo_Click()过程中,重新添加学生Combo的选项
    在年级这个下拉框中写代码控制.
    当这个下拉框有变化就重新附值班级跟学生姓名.
      

  6.   

    代码如下:  另有一个db
    Option Explicit
    Dim db As Database
    Dim rd As Recordset
    Dim sSql As String
    Dim id1, id2 As Integer
    Private Sub Combo1_Click()
        
        id1 = Left(Combo1.Text, 1)
        sSql = "select distinct c.cid,c.cname from cgs关联表 as r inner join class as c on r.cid=c.cid where r.gid=" & id1
        Set rd = db.OpenRecordset(sSql)
        Combo2.Clear
        With rd
        Do While Not .EOF
            Combo2.AddItem rd.Fields(0) & " " & rd.Fields(1)
            .MoveNext
        Loop
        .Close
        End With
        
        
    End SubPrivate Sub Combo2_Click()    id1 = Left(Combo1.Text, 1)
        id2 = Left(Combo2.Text, 1)
        sSql = "select distinct s.sid,s.sname from cgs关联表 as r inner join student as s on r.sid=s.sid where r.gid=" & id1 & " and r.cid=" & id2
        Set rd = db.OpenRecordset(sSql)
        Combo3.Clear
        With rd
        Do While Not .EOF
            Combo3.AddItem rd.Fields(0) & " " & rd.Fields(1)
            .MoveNext
        Loop
        .Close
        End WithEnd SubPrivate Sub Form_Load()
    Dim i As Long    Set db = DBEngine.OpenDatabase(App.Path & "\db1.mdb")
        Set rd = db.OpenRecordset("select * from grade")
        Combo1.Clear
        With rd
        Do While Not .EOF
            Combo1.AddItem rd!gid & " " & rd!gname
            .MoveNext
        Loop
        .Close
        End With
        
    End Sub
      

  7.   

    TO:liul17(vb无极).  1.非常感謝你發來的郵件,謝謝!  2.在db1中就建立起了關係圖,在用代碼來判斷實現.以取第一個字母來判斷年級或班級確實不錯,但往往在出現過程中不能顯示第一個字母.  3.還是要謝謝你!^_^