Conexión a servidores desde Excel.- Para ello debemos trabajar con el Código VBA de Excel y crear los Objetos de Conexión . También tenemos nuestra biblioteca de classe que permite realizar Múltiples conexiones a una base de datos  en modo local y por Red.

La Implementación de esta Módulo de de classe es muy Sencillo solo debes Importar desde VBA Excel y Listo no necesita de Instalación.

Configuración de la base de Datos

[vb] Public cadena As New ClsAdo
‘———————————————–
‘Cadena de Conexiòn de Excel A Acces
‘———————————————–
Function Servidor()
With cadena
.Servidor = ThisWorkbook.Path & “\”
.Base = “BdPrueba.accdb”
.usuario = “”
.Clave = “”
.TipoBase = 1
End With
End Function
[/vb]

El Método es muy sencillo solo Necesitas Configurar  el Usuario, Clave, Base, Servidor y TipoBase (Se refiere a la base de datos que estas Usando).

Tipo de Base de Datos

  1. Base de Datos de MS ACCES
  2. Base de Datos de MS SQLSERVER
  3. Base de Datos de MSQL
  4. Base de Datos de Oracle
  5. Base de Datos PostgreSQL

Documentación de la Biblioteca de Classe

[vb]
Option Private Module
‘/////////////////////////////////////////////////////////////////////////////////////
‘PROCEDIMIENTO IMPORTAR TABLA CON SUS REGISTROS DE ACCES A EXCEL
Sub CONSULTARTABLA()
ThisWorkbook.Sheets(“”).Activate ‘POSICIONAMOS EN LA HOJA ACTIVA
Range(“”).Select ‘POSICIONAMOS EN UN RANGO
cadena.ExcelTabla (“SELECT * FROM TABLA”) ‘CONSULTA SQL A ACCES CON ADO
End Sub
‘————————————————————————————-
‘/////////////////////////////////////////////////////////////////////////////////////
‘*
‘/////////////////////////////////////////////////////////////////////////////////////
‘PROCEDIMIENTO PARA GUARDAR REGISTRO DE EXCEL EN UNA TABLA DE ACCES
Sub GUARDARTABLAREGISTROS()
With cadena
‘ ASIGNAR EL NOMBRE DE LA TABLA EN LA CUAL SE INGRESARA LOS REGISTROS
.Guardar (“”)
‘———————————————————————
‘INGRESAR LOS CAMPOS DE LA TABLA DE ACCES CON TUS DATOS DE TU HOJA O FORMULARIO
.rst.Fields(“”) = “”
‘—– INGRESA LOS REGISTROS EN LA TABLA ——
.rst.Update
.rst.Requery
End With
End Sub
‘——————————————————————–
‘//////////////////////////////////////////////////////////////////////////////////////
‘*
‘//////////////////////////////////////////////////////////////////////////////////////
‘PROCEDIMIENTO PARA ACTUALIZAR REGISTROS DE UNA TABLA DE ACCES
‘————————————————————————————–
Sub ACTUALIZARTABLAREGISTROS()
With cadena
‘ ASIGNAR EL NOMBRE DE LA TABLA EN LA CUAL SE INGRESARA LOS REGISTROS
.Actualizar (“”)
‘——————————————————————–
‘ INGRESA EL ID DE LA TABLA PARA ACTUALIZAR EL REGISTRO
.rst.Find “ID='” & Trim(“”) & “‘”
‘——————————————————————-
.rst.Fields(“”) = “”
‘—– ACTUALIZA LOS REGISTROS EN LA TABLA ——
.rst.UpdateBatch
.rst.Requery
End With
End Sub
‘///////////////////////////////////////////////////////////////////////////////////////
‘*
‘///////////////////////////////////////////////////////////////////////////////////////
‘PROCEDIMIENTO PARA ELIMINAR LOS REGISTROS DE LA TABLA DE ACCES
‘—————————————————————————————
Sub ELIMINARTABLAREGISTROS()
With cadena
‘ ASIGNAR EL NOMBRE DE LA TABLA EN LA CUAL SE INGRESARA LOS REGISTROS
.Eliminar (“”)
‘——————————————————————–
‘ INGRESA EL ID DE LA TABLA PARA ELIMINAR EL REGISTRO
.rst.Find “ID='” & Trim(“”) & “‘”
‘—– ELIMINA LOS REGISTROS EN LA TABLA ——
.rst.Delete
.rst.Requery
End With
End Sub
‘///////////////////////////////////////////////////////////////////////////////////////
‘*
‘////////////////////////////////////////////////////////////////////////////////////////
‘PROCEDIMIENTO PARA BUSCAR LOS REGISTROS DE UNA TABLA DE ACCES CON CRITERIO
‘—————————————————————————————
Sub BUSCARTABLAREGISTROS()
With cadena
‘ ASIGNAR EL NOMBRE DE LA TABLA EN LA CUAL SE INGRESARA LOS REGISTROS
.Buscar (“”)
‘——————————————————————–
‘ INGRESA EL ID DE LA TABLA PARA BUSCAR EL REGISTRO
.rst.Find “ID='” & Trim(“”) & “‘”
‘DATOS BUSCADOS EN LA TABLA DE ACCES
Cells(1, 1) = .rst.Fields(“”)
End With
End Sub
‘/////////////////////////////////////////////////////////////////////////////////////////
‘*
‘PROCEDIMIENTO PARA LISTAR FILAS DE UNA TABLA DE ACCES CON UN BUCLE
‘/////////////////////////////////////////////////////////////////////////////////////////
Sub BUSCARLISTA()
With cadena
‘ ASIGNAR EL NOMBRE DE LA TABLA EN LA CUAL SE INGRESARA LOS REGISTROS CON CONSULTA SQL ADO
.ListaTabla (“SELECT * FROM TABLA”)
‘Listbox.Clear ‘Limpiamos el Control
‘SE GENERA UN BUCLE PARA LLENAR LOS REGISTROS EN LA LISTA (LISTBOX O COMBOBOX)
Do While Not .rst.EOF()
‘EDITAMOS LOS CAMPOS DE LA TABLA DE ACCES Y LOS OBJETOS DE EXCEL
ListBox.AddItem .rst(“”)
ListBox.List(ListBox.ListCount – 1, 1) = .rst(“”)
‘SE RECORRE LO REGISTROS
.rst.MoveNext
Loop
‘——————————————————————————-
End With
End Sub
‘///////////////////////////////////////////////////////////////////////////////////////////
‘*
‘//////////////////////////////////////////////////////////////////////////////////////////
‘PROCEDIMIENTO PARA GENERAR AUTOCORRELATIVO EN LA TABLA DE ACCES
‘——————————————————————————————–
Sub NUMEROCORRELATIVO()
With cadena
‘ ASIGNAR EL NOMBRE DE LA TABLA EN LA CUAL SE BUSCARA EL CORRELATIVO
.Autonumerico (“SELECT CAMPO FROM TABLA”)
If Not .rst.EOF Then ‘
‘(Eso es para verificar que tu tabla no esté vacía, sino tendrías un error
.rst.MoveLast
.Numerico = .rst.Fields(“”) ‘O sea el nuevo Registro que se añade
.Numerico = .Numerico + 1
Else ‘Si no hay registros…
.Numerico = CInt(1)
End If
End With
End Sub
‘////////////////////////////////////////////////////////////////////////////////////////////
‘*
‘———————————————–
‘PROCEDIMIENTO PARA LISTAR UNA TABLA CON RECORDSET DE ACCES A UN LISTBOX O COMBOBOX
Sub RST_TABLAACCES()
With cadena
Set FormAsControl = UserForm1.ListBox1
Set .FormAsObject = FormAsControl
.TablaConsulta (“SELECT CAMPO FROM TABLA”)
End With
End Sub
‘——————————————–
[/vb]

Subscribe para Recibir Material y Convertirte en un Experto de Excel

Solicita una Cotización del Módulo de Classe

Email: Excelservicios@hotmail.com

Celular: 51 995155060