combobox有一个Tag属性,可以在代码中写当选中某文本时,在Tag属性中保存其Value,保存时就保存Tag的值。combobox中的ListIndex(好象是)是当前选中的文本的Index,如果Value值与Index值相同,就可使用此属性,更简单。

解决方案 »

  1.   

    我要求combobox中的每一项目文本对应数据库中的某一字段值,而要求Value值对应另一字段值,我不想再按照选中项的文本去查数据库,所以有没有办法做的象Asp中的一样,打开一次库,就把文本和值都取出来了,而且选中某项时值也是对应的?
      

  2.   

    如果想不再查找数据库,你可以使用ItemData数组属性,它是与文本列表对应的一个数组,下标与文本列表下标相对应。你在从数据库读文本时同时把Value写入ItemData中
    cbo.additem t1,1
    cbo.itemdata(1)=value1
    cbo.add t2,2
    cbo.itemdata(2)=value2
      

  3.   

    补充:
    刚才忘了说,这样用Value必须是整数,因为ItemData是长整型数组
      

  4.   

    把文本和值都取出来
    private sub form_load()
    ......
    set rs = cnn.execute("select field1, field2 from yourtable")
    do until rs.eof
    combo1.additem rs!field1
    combo1.itemdata(combo1.newindex) = rs!field2
    rs.movenext
    loop
    end sub选中某项时值也是对应的:
    private sub combo1_click()
    rs.find "field2 = " & combo1.itemdata(combo1.listindex)
    ......
    end sub
      

  5.   

    ItemData是长整型数组,可我想存字符串。
      

  6.   

    新建一个字符串数组与ComboBox的项一一对应,读数据库时把你要的数据存在字符串数组对应的元素中不就行了。选择ComboBox项时根据ListIndex读数组对应项就能得到字符串数据了。
    ComboBox提供的功能不足就另外想办法.