Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2015, 03:05
Avatar de Batusai
Batusai
 
Fecha de Ingreso: enero-2005
Ubicación: Málaga -Andalucía- España
Mensajes: 130
Antigüedad: 19 años, 3 meses
Puntos: 1
Pregunta VBA para conectar con base de datos MsSQL externa sin más

Hola.

La solución supongo que es más simple que el mecanismo de un chupete, pero en Google me salen mil millones de soluciones que no tienen nada que ver con esto.
Lo que quiero es conectar con una base de datos MsSQL externa pero no lo consigo.
Os paso el código y a ver si alguien puede ayudarme.
Código:
Sub report_2()

    Dim Password As String
    Dim SQLStr As String
    'OMIT Dim Cn statement
    Dim Server_Name As String
    Dim User_ID As String
    Dim Database_Name As String
    'OMIT Dim rs statement

    Set rs = CreateObject("ADODB.Recordset") 
    Server_Name = "BATU-INTER-DB"
    Database_Name = "ClienteAlpha" ' Name of database
    User_ID = "alpharead" 'id user or username
    Password = "alpha4read!" 'Password

    SQLStr = "SELECT * From ClienteAlpha.dbo.toditodos tdd (nolock) WHERE tdd.toditodos_Data = 'Spain';"

    Set cn = CreateObject("ADODB.Connection") 'NEW STATEMENT
    cn.Open "Driver={MySQL ODBC 5.2.2 Driver};Server=" & _
            Server_Name & ";Database=" & Database_Name & _
            ";Uid=" & User_ID & ";Pwd=" & Password & ";"

    rs.Open SQLStr, cn, adOpenStatic

    Dim myArray()

    myArray = rs.GetRows()

    kolumner = UBound(myArray, 1)
    rader = UBound(myArray, 2)

    For k = 0 To kolumner ' Using For loop data are displayed
        Range("a5").Offset(0, k).Value = rs.Fields(k).Name
        For r = 0 To rader
           Range("A5").Offset(r + 1, k).Value = myArray(k, r)
        Next
    Next

    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

End Sub
Muchas gracias :)
__________________
No es verdad que sea un completo inútil. Al menos sirvo para dar mal ejemplo