Crear consultas SQL en Excel
Las consultas en SQL son muy importantes, aunque en la actualidad hay muchas herramientas que nos ayudan a crear conexiones SQL, pero por eficiencia les comparto una macro para realizar las consultas más rápida.
Para que la macro funcione hay que seguir los siguientes pasos:
1. Abrir el editor Visual Basic para Aplicaciones (VBA).
2. Insertar un módulo.
3. Agregar la referencia "Microsoft ActiveX Data Objects 2.0 Library" en el menú herramientas del editor VBA, dar click en referencias.
3. Pegar el siguiente código en el módulo que se inserto:
Descargar el archivo
Para que la macro funcione hay que seguir los siguientes pasos:
1. Abrir el editor Visual Basic para Aplicaciones (VBA).
2. Insertar un módulo.
3. Agregar la referencia "Microsoft ActiveX Data Objects 2.0 Library" en el menú herramientas del editor VBA, dar click en referencias.
3. Pegar el siguiente código en el módulo que se inserto:
Sub SQL_Consulta() Hoja1.Cells.Clear 'limpiar consultas anteriores Dim oCn As ADODB.Connection Dim oRS As ADODB.Recordset Dim ConnString As String Dim SQL As String Dim CMDStoredProc As ADODB.Command Dim CnnConexion As ADODB.Connection Dim RcsDatos As ADODB.Recordset Dim CadConexion As String 'Cadena de conexión Dim RecordsAffected As Long 'Cadena de conexión Dim Servidor As String Dim Usuario As String Dim Contrasena As String Dim BaseDatos As String Servidor = Hoja2.Range("B1") Usuario = Hoja2.Range("B3") Contrasena = Hoja2.Range("B4") BaseDatos = Hoja2.Range("B2").Value ' Cadena de conexión ConnString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & Usuario & ";Pwd=" & Contrasena & ";Initial Catalog=" & BaseDatos & ";Data Source=" & Servidor & "" Set oCn = New ADODB.Connection oCn.ConnectionString = ConnString oCn.Open SQL = Hoja2.Range("B5").Value ' Consulta en SQL Set oRS = New ADODB.Recordset oRS.Source = SQL oRS.ActiveConnection = oCn oRS.Open Hoja1.Range("A2").CopyFromRecordset oRS ' Hoja de destino If oRS.State <> adStateClosed Then oRS.Close End If If Not oRS Is Nothing Then Set oRS = Nothing If Not oCn Is Nothing Then Set oCn = Nothing End Sub
Descargar el archivo
0 comments :
Publicar un comentario