EXCEL如何和SQL 2000进行连接,并且设置一个命令按钮,当单击命令按钮时候把某个单元格的字段作为查询条件的关键字段进行查询,望高手教教我啊,谢谢

解决方案 »

  1.   

    Private Sub oCmdQuery_Click()
        Dim con As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim strQ As String
        Dim j As Integer
            
        con.CursorLocation = adUseClient
        con.Open "PROVIDER=MSDASQL;Driver={SQL Server};Server=xxx.xxx.xxx.xxx;uid=sa;pwd=my_password;database=my_dbname;"
        
        strQ = strQ & " SELECT * from my_table where my_id = '" & Cells(1, 1) & "' " & vbNewLine
        
        rs.Open strQ, con, adOpenStatic, adLockOptimistic
        
        If rs.RecordCount > 0 Then
            For j = 0 To rs.Fields.Count - 1
                Cells(1, j + 2) = rs.Fields(j).Name
            Next j
            
            Range("B2").CopyFromRecordset rs
        End If
        
        rs.Close
        Set rs = Nothing
        con.Close
        Set con = Nothing
           
    End Sub
      

  2.   

    '连接Oracle
    Public objOraSession
    Public objOraDBPublic strDbConn As String
    Public strDbUser As String
    Public strDbPwd As String'connectDB
    Public Function connectDB() As Boolean
        On Error Resume Next
        
        Set objOraSession = CreateObject("oracleinprocserver.xorasession")
        Set objOraDB = objOraSession.OpenDatabase(strDbConn, strDbUser & "/" & strDbPwd, 0)    If Err.Number > 0 Then
            MsgBox Err.Description
            Set objOraDB = Nothing
            Set objOraSession = Nothing
            
            connectDB = False
            Exit Function
        End If
        
        connectDB = True
    End Function
      

  3.   

    通过ADO去连吧。这样比较方便。如果你不想VBA编程的话,那就只能用MS QUERY然后再通过VBA来修改QUERY的属性。