Construcción automatizados informes en Excel mediante la conexión directamente a una base de datos ERP es un buen atajo para tener información fresca y veraz basar sus decisiones en. Este método facilita el procesamiento de datos y manipulación de VBA antes de que se muestran los resultados y conclusiones y una disponibilidad adicional para la organización, cálculos y ordenar después de tablas de Excel están pobladas.
Conectar a SQL Server
Para conectarse a un servidor de base de datos debe cambiar para código escrito y en explorador del proyecto (lado izquierdo o visite menú ver si no visible) Seleccione ThisWorkbook, agregue el código siguiente aquí:
Con público como New ADODB. Conexión
Private Sub Workbook_Open()
Dim r como nueva ADODB. Conjunto de registros
Con.ConnectionString = "driver = {SQL Server}; Servidor = SQLServerName; uid = UserName; pwd = contraseña "
Con.Open
Con.CommandTimeout = 20
Con.Execute "tabla"
End Sub
También tienes que ir a herramientas / preferencias… para que la biblioteca de Microsoft ActiveX datos objetos 2.5 revisar en orden para este tipo de objeto de conexión que esté disponible.
La conexión funciona sólo después de guardar y abrir el archivo de Excel como la conexión se realiza solamente cuando el archivo se abre.
Mediante la conexión a la base de datos
La variable "r" del objeto ADODB. Conjunto de registros puede utilizarse después de esto en cualquier procedimiento o función para consultar las tablas de la base de datos y las salidas del proceso. No olvides definir la variable como ADODB. Conjunto de registros en cada macro.
Si la conexión se rompe por cualquier motivo, el archivo de Excel debe cerrado y reabierto con el fin de restablecerla. Archivos Excel que contienen macros de VBA deben guardarse con extensiones .xlsm o .xls, .xlsx no guardar el código VBA detrás de las hojas de cálculo de Excel.