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 :)