给分吗?
For i = 0 To rs.RecordCount - 1
  with mycombo
    .additem rsstrchoice.field("name").Value
    .ItemData (mycombo.NewIndex)=rsstrchoice.field("ID").Value
  end with
  rsstrchoice.MoveNextNext

解决方案 »

  1.   

    ComboBox的每一项没有tag值
    ImageCombo有
      

  2.   

    回复人: qkaizhou() (2002-1-23 12:55:56) 
    回复是对的!调用ID时要调ItemData
      

  3.   

    不对呀!!我要得是在循环里边定义comboitem然后加入tag,和value的代码!!rsstrchoice和rs是一样的,
      

  4.   

    我自己为这个编了一个Function 但愿给你能有启发:
    Sub AddCombo(Combo As ComboBox, Str As String)
    '下拉框填充 2000-05-24
    'Str中是读取两个字段的SQL语句比如:select ID,NAME from 表  
    Combo.Clear
    Dim cmbSet As New ADODB.Recordset
    Set cmbSet = ADOCon.OpenRecordset(Str)
    Do Until cmbSet.EOF
        Combo.AddItem Trim(cmbSet(1))
        Combo.ItemData(Combo.NewIndex) = cmbSet(0)
        cmbSet.MoveNext
    Loop
    End Sub但愿这个东东对你有帮助,我都用了几年了,看编写时间也可以看出来啊!
      

  5.   

    对了Combo是那个下拉条的名字,和sql语句一起传过来就可以
      

  6.   

    对不起忘了说明ADOCon是一个ADO的连接。
    Public ADOCon As New ADODB.Connection           'ADO的连接串
    运行前要保证ADOCon已经连接到数据库了!就是
    ADOCon.ConnectionString = "DSN=ODBC连接名称;UID=用户名;PWD=密码;General Timeout=20;"
        ADOCon.Open