Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Donde a simple vista veras un botón que tiene por nombre “Registrar y
Consultas”, donde allí tu tendrás el control total de la base de datos y podrás
hacer las consultas, aun lado te explica algunas de las demás funciones que te
trae este Aplicativo, seguidamente das click en el botón, te aparecerá este
menú;
Desde este formulario tienes la opción de consultar datos externos según sea
el criterio a buscar ya que en este caso será “Buscar Proveedor por Nombre”,
donde tú solo tendrás que digitar el nombre del Proveedor según como lo hayas
guardado en la base.
Ya por ultimo algo más interesante y práctico el Aplicativo trae la Macro para
poder Exportar los datos desde la Tabla de Access a Hoja de Excel, como lo
ves en esta imagen;
Acá, tú solo debes dar click en el botón que dice “Exportar Proveedores”, y
automáticamente los datos que tengas en Access estos pasaran a Excel con un
solo click, pero la única condición que tienes que hacer antes es cambiar la ruta
donde se encuentra el archivo de Access y harás el cambio desde este código:
path_Bd = “E:\Registrar Datos en Access + Consultas a Listbox\
DATAPROV.accdb”, para que así la macro de exportar funcione correctamente.
Ahora te explicare parte del Código y cuál será su función, en el módulo
llamado “TimeConecExporCons”, encontraras el código de conexión a la base
de datos de Access al igual la macro para Exportar de Access a Excel. Lo
Primero es declarar ciertas variables para hacer la conexión y guardar los datos
de Excel a Access:
Esta Variable es para hacer la conexión
entre el formulario de registrar datos y
modificar a Access.
Public miConexion As New ADODB.Connection
Esta Variable es para poder guardar los datos de desde Excel a Access.
Public Rs As New ADODB.Recordset
Las siguientes variables son para hacer la conexión con el formulario de
consulta y la tabla Proveedores de Access y hacer la referencia a la columna la
cual buscaremos como criterio en el campo de consulta.
Public Cnn As New ADODB.Connection
Public Rsd As New ADODB.Recordset
Public Sql As String
Esta otra Variable esta para hacer que funcione la fecha y hora en la barra de
título del formulario del Menú y que sea al iniciar el Formulario.
Global onOff2 As Boolean
Este Código es para que funcione la Fecha y Hora en el Caption del UserForm:
Sub MostrarHoras()
On Error Resume Next
IngresaProveedor.Caption = “Día: [ ” & Format(Now, “dddd dd-mm-yyyy”) & ” ]
Hora: [ ” & Format(Now, “hh:mm:ss”) & “] Milton Aguirre”
If onOff2 = True Then
Application.OnTime Now + TimeValue(“00:00:01”), “MostrarHoras”
Else
Application.OnTime 0, “”
End If
End Sub
El siguiente código es para hacer la conexión entre la base de datos de Access
a Excel ya que nos servirá en el Formulario de Registro, Modificar, y Eliminar el
registro del Proveedor.
Sub Conectar()
Set miConexion = New ADODB.Connection
With miConexion
.Provider = “Microsoft.ACE.OLEDB.15.0”
.ConnectionString = “Data Source=” & ThisWorkbook.Path & “\
DATAPROV.accdb”
.Open
End With
End Sub
En este código se hace la conexión entre Access y Excel, en el Formulario de
Consultas.
Sub Conexion()
Set Cnn = New ADODB.Connection
With Cnn
.Provider = “Microsoft.ACE.OLEDB.15.0”
.ConnectionString = “Data Source=” & ThisWorkbook.Path & “\
DATAPROV.accdb”
.Open
End With
End Sub
Ya por ultimo tenemos el código o Macro para que funcione el poder Exportar
los datos desde la Tabla “Proveedores” a la hoja de Excel. Te explicare parte
por parte:
‘La macro llevar por nombre “ExportarProveedores”.
Sub ExportarProveedores()
‘Actualizaremos la Base de Datos de Access a Excel con siguientes variables.
Dim path_Bd As String
Dim Cnnc As New ADODB.Connection
Dim recSet As New ADODB.Recordset
Dim strDB, strSQL As String
Dim strTabla As String
Dim Encabz As Long
Dim i As Long
Dim Correc As Boolean
On Error GoTo ControlError
Correc = True
‘Conecta con la Base de Datos Access y abre Consulta para Excel. Recuerda
que tienes que cambiar la Ruta donde se encuentra la base de datos.
path_Bd = ” E:\Registrar Datos en Access + Consultas a Listbox\
DATAPROV.accdb”
‘Acá debes cambiar el Tipo de Proveedor en este caso estoy usando Office
2013 es por eso que tiene “15”.
Cnnc.Provider = “Microsoft.ACE.OLEDB.15.0”
Cnnc.Properties(“Data Source”) = path_Bd
‘En dado caso de que tenga contraseña la base de datos de Access, puedes
poner la Contraseña entre las comillas (“”).
Cnnc.Properties(“Jet OLEDB:Database Password”) = “”
‘Aquí se conecta con la Tabla “Proveedores”, de la base de datos de Access.
Cnnc.Open
strTabla = “Proveedores”
strSQL = “SELECT * FROM ” & strTabla & ” ”
recSet.Open strSQL, Cnnc
‘Copia los Datos de Access a la Hoja llamada “Exporta”.
Worksheets(“Exportar”).Select
‘Limpia la Consulta Anterior o Datos que Exista en la Hoja “Exporta”.
limpiardatos = Sheets(“Exportar”).Range(“A” & Rows.Count).End(xlUp).Row
Sheets(“Exportar”).Range(“A2:G” & limpiardatos).ClearContents
‘Guarda nueva base de datos de Access a Excel.
Sheets(“Exportar”).Cells(2, 1).CopyFromRecordset recSet
‘Copia los Encabezados que tenga la Tabla “Proveedores”.
Encabz = recSet.Fields.Count
For i = 0 To Encabz – 1
Sheets(“Exportar”).Cells(1, i + 1).Value = recSet.Fields(i).Name
Next
‘Desconecta la Base de Datos
recSet.Close: Set recSet = Nothing
Cnnc.Close: Set Cnnc = Nothing
Sheets(“Exportar”).Select
MsgBox “Los Datos de los Proveedores se han Actualizado y Exportado con
Éxito.”
Salir:
On Error Resume Next
If Not Correc Then
MsgBox “No se ha Podido Encontrar la Ruta, de la Base de Datos de los
Proveedores.”
End If
recSet.Close: Set recSet = Nothing
Cnnc.Close: Set Cnnc = Nothing
Exit Sub
ControlError:
Correc = False
Resume Salir
End Sub
El código nos quedara de esta forma ver imagen abajo;
Algo muy importante y que debes de tener en cuenta es con el tipo de
Proveedor que estas trabajo con Microsoft Office.
Si en tu caso usas MS Office Excel 2010 debes usar este:
“Microsoft.ACE.OLEDB.12.0”
Si usas MS Office Excel 2013 debes usar este:
“Microsoft.ACE.OLEDB.15.0”
Pero si al contrario estés usando MS Office Excel 2016 usaras este otro:
“Microsoft.ACE.OLEDB.16.0”
Como lo vez en esta Imagen como Ejemplo:
Este aplicativo se ha Ejecutado hasta el momento en:
Microsoft Office Excel 2013 y Microsoft Office Access 2013
Microsoft Office Excel 2016 y Microsoft Office Access 2016
También en Sistemas Operativos de:
Windows 7 de 32bits.
Windows 10 de 64bits.
Y funciona perfectamente sin ningún problema, solo sigues los pasos ya antes
mencionado y este Aplicativo funcionara correctamente en tu Pc.