取一个表中记录,并用这个表中每条记录自动编号做为显示在listbox中的每条索引编号(用ItemDate设置)
在我点击listbox中文本时候,同名的文本.就只有最后一个取得到用(ItemDate)设置索引编号,其余取到的都是0.
不相同的文本就不存在这外问题~!

解决方案 »

  1.   

    用 ItemData 属性时,一定要在向列表中加入新项时,设置它的值。
      

  2.   

    ItemData 属性
          返回或设置 ComboBox 或 ListBox 控件中每个项目具体的编号。语法object.ItemData(index) [= number]ItemData 属性语法包含下面部分:部分 描述 
    Object 对象表达式,其值是“应用于”列表中的一个对象。 
    Index 对象中指定项目的编号。 
    Number 与指定项目相关联的数。 
    说明ItemData 属性是一个长整型数的数组,它有与控件的 List 属性相同数目的项目。可以用与每一项相关的数来标识它们。例如,在 ListBox 控件中,可以用雇员身份号来标识每一个雇员的名字。填 ListBox 时,也要将雇员号填入 ItemData 相应的元素中。ItemData 常常用做与 ListBox 控件中项目相关的数据结构数组的索引。注意 利用 AddItem 方法在列表中插入一个项目时,在 ItemData 数组中也会自动插入一项。但是其值不会重新初始化为 0;它保持列表在插入项目之前该位置的值。用 ItemData 属性时,一定要在向列表中加入新项时,设置它的值。
      

  3.   

    我设置了值~!
    就是如果在Listbox有多个同名的文本话,就只能取到最后一个文本相对应的Item值.
      

  4.   

    mrstTemp为recordset
    lstData为listbox控件   With mrstTemp
         Do Until .EOF
           lstData.AddItem .Fields(显示的文本信息).Value  '添加显示的文本
           lstData.ItemData(lstData.NewIndex) = .Fields(与显示文本信息关联的信息).Value
           .MoveNext
         Loop
       End With