我有两个combo控件,combo1可以显示A B C D这种大范围,并可以随时添加E F G之类的;同时,在选定了combo1中的某一项时,比如选择A,combo2中会反映出相应的A1 A2 A3……。不知道需求说清楚没有,想请教各位大侠,这种功能该如何实现呢?数据库方面该怎么设计?请帮帮小妹呀!

解决方案 »

  1.   

    Private Sub Combo1_Validate(Cancel As Boolean)
        Select Case Combo1.Text
            Case "A"
                Combo2.Clear
                Combo2.AddItem "A1"
                Combo2.AddItem "A2"
                Combo2.AddItem "A3"
            Case "B"
                Combo2.Clear
                Combo2.AddItem "B1"
                Combo2.AddItem "B2"
                Combo2.AddItem "B3"
            Case "C"
                Combo2.Clear
                Combo2.AddItem "C1"
                Combo2.AddItem "C2"
                Combo2.AddItem "C3"
            Case "D"
                Combo2.Clear
                Combo2.AddItem "D1"
                Combo2.AddItem "D2"
                Combo2.AddItem "D3"
        End Select
    End Sub
      

  2.   

    建两个表,一个放A、B、C、D……,一个放A1、A2……B1、B2……等。
    从第一个表读入A、B、C、D……到COMBO1中,在COMBO1_CLICK中检查COMBO1的TEXT,作条件从第二个表“SELECT……LIKE '” & combo1.text & "%'"
      

  3.   

    以上程序似乎应该放在
    Combo1_Click里面
      

  4.   

    Private Sub Combo1_Click()
        Combo2.Clear
        
        Combo2.AddItem Combo1.Text & "1"
        Combo2.AddItem Combo1.Text & "2"
        Combo2.AddItem Combo1.Text & "3"
        Combo2.AddItem Combo1.Text & "4"
        Combo2.AddItem Combo1.Text & "5"
        Combo2.AddItem Combo1.Text & "6"
    End SubPrivate Sub Form_Load()
        Combo1.Clear
        Combo1.AddItem "A"
        Combo1.AddItem "B"
        Combo1.AddItem "C"
        Combo1.AddItem "D"
        
    End Sub
      

  5.   

    可能是我举的例子让大家误解了,换一个吧!比如说,combo1里面显示的是:肯德基,麦当劳,必胜客……;combo2里就显示出相应的肯德基的各家店铺,麦当劳的各家店铺或是必胜客的各家店铺,而这些里面不再重复显示肯德基,麦当劳或是必胜客这样的字眼!不知这次我是否描述清楚了?
      

  6.   

    theforever(碧海情天)的方法就可以实现你的功能建两个表,
    第一个表1个字段,存放combo1的所有数据
    第一个表2个字段,第一个字段存放的内容同上
                    第二个字段存放combo2的所有数据
    如:
    Tbl1:  
        字段名=Type
        字段值=A,B,C
    Tbl2: 
        字段名=Type,Detail
        字段值如下:
    Type Detail
    A step1
    A step2
    B out1
          B out2
         ...'打开表1 -- tbl1
    ...
    ConStr="select Type from tbl1"
    Rst open ConStr
    ...
    for i=1 to Rst.RecordsetCount
        combo1.AddItem Rst.fields(0)
        tbl1.movenext
    next i'根据combo1中选择的内容,再打开表2 -- tbl2,给combo2赋值
    ...
    ConStr="select Detail from tbl2 where Type='" & combo1.text & "'"
    Rst open ConStr
    ...
    for i=1 to Rst.RecordsetCount
        combo1.AddItem Rst.fields(0)
        tbl1.movenext
    next i