Excel - crear una conexion de sql a excell

 
Vista:

crear una conexion de sql a excell

Publicado por alejandro (8 intervenciones) el 04/12/2007 22:58:36
hola que tal deseo hacer una conexion de excell a SQL para ejecutar un procedimiento y que me lo pegue en una hoja de excell. con un macro solo busco como poder realizar la conexion.

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:crear una conexion de sql a excell

Publicado por Eduard Torres (2 intervenciones) el 11/12/2007 11:03:16
'Sub IncorporaReferencias()
Dim miCanal As Integer
Dim miSQL As String
Dim x_path As String
x_path = Range("aplicación_directorio")

miCanal = SQLOpen("DSN=Marcolin") ' Range("Nombre_DSN"))

Application.ScreenUpdating = False
Worksheets("Configuraciones").Select
ActiveSheet.Unprotect
Range("P1").Select
Selection.CurrentRegion.ClearContents
miSQL = "SELECT DISTINCT ug022.LIN_PRD + '-' + ug022.COD_TAR + '-' + ug047.COD_CONFI AS 'concatenado',"
miSQL = miSQL & "'xxxxxxx.xxx'" & " AS 'archivo' "
miSQL = miSQL & "FROM " & x_path & "ug022.dbf ug022, " & x_path & "ug047.dbf ug047 "
miSQL = miSQL & ", " & x_path & "ug032.dbf ug032 "
miSQL = miSQL & "WHERE (ug022.COD_MOD = ug047.COD_MOD) "
miSQL = miSQL & "AND (ug022.COD_MOD = ug032.COD_MOD) "
miSQL = miSQL & "AND (ug022.COD_TAR = ug032.COD_TAR) "
miSQL = miSQL & "AND (ug032.COD_MON = '" & Range("Código_Moneda") & "') "
miSQL = miSQL & "ORDER BY ug022.LIN_PRD,ug022.COD_TAR, ug047.COD_CONFI"

SQLExecQuery miCanal, CrearArraySQL(miSQL)
SQLRetrieve miCanal, Worksheets("Configuraciones").Range("P1"), , , True
'
' Selection.CurrentRegion.Select
' Selection.CreateNames Top:=True, Left:=False, bottom:=False, Right:=False
'
' SQLClose miCanal
' Worksheets(1).Select
'
'End Sub

Ademas necesitas incluir en Referencias de VB el archivo XLODBC.XLA.

Espero que te sirva

Eduard
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar