在数据库中一个表中有code和num两个属性,datacombo中显示code的值,text中显示num的值datacombo如何与text框绑定,在数据库中能显示同一条记录的相应值

解决方案 »

  1.   

    Option Explicit
    Private conn As ADODB.Connection
    Private rs As ADODB.RecordsetPrivate Sub Form_Load()
    Dim apppath As String
    Dim dbfilename As String
    Dim ConnectString As String
    Dim i As Integer
    Set conn = New ADODB.Connection
    Dim sql As String
            Set conn = New ADODB.Connection
            Set rs = New ADODB.Recordset
            rs.CursorLocation = adUseClient
            dbfilename = "F:\csdn_vb\controls\listbox\article.mdb"
            ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                       dbfilename & ";Persist Security Info=False;"
                    
            On Error Resume Next
            With conn
                 .CursorLocation = adUseClient
                 .Open ConnectString
            End With
            
            rs.Open "select * from mz", conn, 1, 3Set rs = New ADODB.Recordset
    rs.Open "select id,mc from mz", conn, 1, 3
    If rs.EOF Then
    Exit Sub
    End If
    '我使用了list控件,你可以换成combo
    不建议使用datacombo
    For i = 0 To rs.RecordCount - 1
    List1.AddItem rs.Fields("mc")
    List1.ItemData(i) = rs.Fields("id")
    rs.MoveNext
    Next
    rs.Close
    Set rs = Nothing
    End SubPrivate Sub List1_Click()
    Dim strsql As String
    strsql = "select memo from mz where id=" & List1.ItemData(List1.ListIndex)
    Set rs = New ADODB.Recordset
    rs.Open strsql, conn, 1, 3
    Dim s As String
    s = Replace(rs.Fields("memo"), "*", vbCrLf)
    Text1.Text = s
    End Sub
      

  2.   

    datacombo有三个属性需要设置,rowsource绑定数据集,BoundColumn为绑定的字段,不显示,ListField为显示的字段,在datcombo事件中写text1.text=datacombo1.BoundText