我没用comb绑定DATA控件,我用的是对象连接。检测出来的时候,如果没有用MoveNext,那么comb中只是显示第一条记录。用一个循环,如下:(dim rs as recordset)
do while not rs.eof
   comb.additem rs.fields(字段名称)
   comb.additem rs.fields(字段名称2)
   .
   .
   .
   rs.MoveNext
loop试试这样行不行?
   

解决方案 »

  1.   

    Public Sub CreateComboBoxItems(ByVal TableName As String, _
                        ByVal FieldName As String, TargetComboBox As ComboBox)
                            
        Dim rs As New ADODB.Recordset
        Dim tmpstr As String
        
        tmpstr = TargetComboBox.Text
        rs.Open "SELECT " & FieldName & " FROM " & TableName & " GROUP BY " & FieldName, DataEnv.Cnn.ConnectionString
        Do Until rs.EOF
            If (Not IsNull(rs.Fields(FieldName))) And rs.Fields(FieldName) <> "" Then
                If Not MemberComboBox(TargetComboBox, rs.Fields(FieldName)) Then
                    TargetComboBox.AddItem rs.Fields(FieldName)
                End If
            End If
            rs.MoveNext
        Loop
        rs.Close
        TargetComboBox.Text = tmpstr
    End Sub
    试试这个Sub
      

  2.   

    Private Function MemberComboBox(ByVal TargetComboBox As ComboBox, ByVal Targetstr As String) As Boolean    Dim i As Integer
        
        MemberComboBox = False
        
        i = 0
        Do Until i = TargetComboBox.ListCount
            If TargetComboBox.List(i) = Targetstr Then
                MemberComboBox = True
                Exit Do
            End If
            i = i + 1
        Loop
    End Function
    少写了一个Function,呵呵,加上就可以了第一个SUB中的ADO的Connection字串自己改改
      

  3.   

    你用DataCombo不就得了,幹嘛這麼麻煩.有專門數據綁定的控件不用,還舍近求遠。
      

  4.   

    我是这样写的啊,可以显示字段内所有的信息!
    While Not rst.EOF
    com_xingmin.AddItem rst!姓名
    Com_year.AddItem rst!统计年
    rst.MoveNext
    Wend
      

  5.   

    Yager_1978(小精靈) :要重复的,呵呵