比如有一个数据库,把表中的ID字段与comobox控件联接,那么怎么用comobox控件的选择项来搜索数据库,并把其它的相应字段在文本框中显示出来?用ADO控件.

解决方案 »

  1.   

    Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号)
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Combo1_Click()
        rs.Open "SELECT * FROM TABLENAME WHERE NAME = '" & Combo1.Text & "'", cn, adOpenDynamic, adLockOptimistic
        If Not rs.EOF Then
            TextID.text = rs!ID
            TextMemo.text = rs!Memo
        End If
    End SubPrivate Sub Form_Load()
        cn.ConnectionString = "DBQ=" & App.Path & "\TelePhone.mdb;DefaultDir=" & _
            App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _
            "DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _
            "MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _
        "Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;"
        cn.Open
        '查询字符串可以上这里查
        'http://www.connectionstrings.com/
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub
      

  2.   

    上面的大侠,说的很详细了...主要就是
    Private Sub Combo1_Click()
        rs.Open "SELECT * FROM TABLENAME WHERE NAME = '" & Combo1.Text & "'", cn, adOpenDynamic, adLockOptimistic
        If Not rs.EOF Then
            TextID.text = rs!ID
            TextMemo.text = rs!Memo
        End If
    End Sub
      

  3.   

    谢谢,那可不可以再加上用ADO控件点击下一条时comobox控件的内容也跟着改变?
      

  4.   

    把一个字段里的全部值全部给 combox1 是吧 
    做个循环呀
    for i=0 to rs.RecordCount
       combox1.additem rs!字段名
    next iOK拉~
      

  5.   

    那得用  datalist or datacombo