如何实现选择combox1控件中的吉林省份时,combox2 控件中显示出吉林省份中的城市?

解决方案 »

  1.   

    combox是可以绑定adodc的,省份发生变化时,修改adodc的查询语句并刷新就可以了
      

  2.   

    其实不必将各省分开列表。在同一表中增加省字段即可。首先在 Form_Load 事件中,填写 ComboBox1:
    rs.Open "SELECT DISTINCT 省份 FROM yourtable"
    Combo1.Clear
    Do Until rs.EOF
        Combo1.AddItem rs!省份
        rs.MoveNext
    Loop
    rs.Close
    If Combo1.ListCount Then Combo1.ListIndex = 0在 Combo1 的 Click 事件中:
    rs.Open "SELECT 城市 FROM yourtable WHERE 省份='" & Combo1.List(Combo1.ListIndex) & "'"
    Combo2.Clear
    Do Until rs.EOF
        Combo2.AddItem rs!城市
        rs.MoveNext
    Loop
    rs.Close
    If Combo2.ListCount Then Combo2.ListIndex = 0
      

  3.   

    使用 ADODC,变更查询 SQL 的方法有两种:1 直接改 RecordSource 属性:
    ADODC1.RecordSource = "SELECT 城市 FROM yourtable WHERE 省份='" & Combo1.List(Combo1.ListIndex) & "'"
    ADODC1.Refresh2 挂接新的 rs 对象
    Set ADODC1.RecordSource = rs
    ADODC1.Refresh
      

  4.   

    1、将数据写入combox1 
    2、鼠标选择combox1 ,根据选择的数据,作为查询条件,查数据库
    3、将查出的结果,写入combox2,这样,就实现了。
      

  5.   

    Private Sub Form_Load()
    Combo1.Clear
    Adodc1.ConnectionString = ""    '连接数据库的字符串,你自己添加
    Adodc1.RecordSource = "Select * From 省份"
    Adodc1.Refresh
    Do While Not Adodc1.Recordset.EOF
    Combo1.AddItem Adodc1.Recordset.Fields("省份名称")    '不知道你的省份数据表的字段结构,只能这样
    Adodc1.Recordset.MoveNext
    Loop
    End SubPrivate Sub Combo1_Click()
    Combo2.Clear
     '连接数据库,在 Form_Load 已经加载,这里不需要再次加载
    Adodc1.RecordSource = "Select * From " & Combo1.Text & ""
    Adodc1.Refresh
    Do While Not Adodc1.Recordset.EOF
    Combo2.AddItem Adodc1.Recordset.Fields("城市")
    Adodc1.Recordset.MoveNext
    Loop
    End Sub你这样设置数据表,我认为不合理,将各省的表,合并为一个表,增加省份的字段就可以。