SqlStr = "Select Stock_Name,Stock_Admin From Stocks"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open SqlStr, Cn, adOpenDynamic, adLockReadOnly, adCmdTextSet D_CmbStock_Id.RowSource = rs
D_CmbStock_Id.ListField = "Stock_Name"
我填充字段为Stock_Name 即显示的是Stock_Name字段但我想得到Stock_Admin字段内容 我用一下方法
Set D_CmbStock_Id.DataSource = rs
D_CmbStock_Id.DataField = "Stock_Admin" MsgBox D_CmbStock_Id.Text 显示的还是Stock_Name内容
我想显示的是一个字段 我想得到的是另一个字段 这控件怎么用?

解决方案 »

  1.   

    Set DataCombo1.DataSource = rs
    Set DataCombo1.RowSource = rs
    DataCombo1.DataField = "IDFieldName"
    DataCombo1.ListField = "TextFieldName"
    DataCombo1.BoundColumn = "IDFieldName"具体参考:
    http://www.ithome-cn.net/technology/Vb/vb199.htm
      

  2.   

    DataSource 和 DataField 设置的数据绑定,编辑数据用
    RowSource  和 BoundColumn 设置显示格式
    ListField 用来关联显示和编辑
    就是 RowSource 记录中的 BoundColumn 字段显示列表,将 RowSource 记录中的 ListField 字段更新到 DataSource 记录的 DataField 字段你应该如下设置
    Set .RowSource = rs
    .BoundColumn = "Stock_Name"
    .ListField = "Stock_Admin"
    而且应该用另外一个 RecordSet 进行数据编辑
    Set .DataSource = rs2
    .DataField = "Stock_Admin"
      

  3.   

    ComboBox 里有一个List属性,可以用来放显示列表,还有一个ItemData属性,可以用来放你要的内容。