Excel data to Access table using VBA and ADO @EXCELeINFO
HTML-код
- Опубликовано: 5 сен 2024
- ✅ Download the file | www.exceleinfo....
🏆 Subscribe | goo.gl/M5zNA8
In this tutorial I'm going to show you a macro that will help us register directly in an Access table using VBA using ADO (ActiveX Data Objects).
Microsoft ActiveX Data Objects (ADO)
ADO is one of the mechanisms that enables client applications to connect to different data sources and access and manipulate information or data. The connection of the applications to the data sources is done through OLE DB providers, which for our tutorial we will use a provider to connect us to an Access Database.
What is a Recordset
It is important to know the concept of Recordset, since whenever we communicate with a Database, be it Oracle, SQL, MySQL or Access, this concentration will always be present.
A Recordset is a data structure that is used to store information in a Table of a Database. The term Recordset joins in countless programming languages and practically serves to register records, as well as delete and update them.
Enable Reference in the Visual Basic for Applications IDE
Before writing any code to connect to a database using ADO it is important to activate the reference to the Microsoft ActiveX Data Objects 6.1 Library ADO library.
More examples | www.exceleinfo.com
More examples | blogs.itpro.es/...
Facebook Page | / exceleinfo
Get notificacions on Telegram | t.me/EXCELeINFO
Twitter | @EXCELeINFO
Twitter | @SergioACamposH
Download EXCELeINFO addin:
addin.exceleinf...
Photo by Samuel Zeller on Unsplash
¡Qué crack! Cambié la carga de datos por un excel range en vez de un useform y el sistema de inventario de la empresa quedó *EXCELENTE*. Muchísimas gracias
Con este curso y el de macros, pude hacer un formulario que al escribir consultas SQL, recupera la consulta en hojas de Excel, guarda un historial de consultas y los libros de Excel, ya sea consultas pre diseñadas o una a una.
En breve un mini editor SQL -> Excel. Gracias Sergio.
Al agregarle un manejador de errores, devuelve el mismo mensaje para corregir la sintaxis de las consultas que verías directamente en Access
Excelente.. si está muy interesante la forma de conectarse y pasar la información hacia access.
Sería genial si hacer lo inverso, recuperar los datos de access a excel, poder verla en un formulario.
Gracias por su tiempo y la ayuda.
Saludos desde Perú
Sergio encontré tu curso Conectar Excel a Access usando VBA y ADO, muy bueno, ya ves que lo había sugerido en los comentarios de la charla y Workshop#8 que realizaste junto con Juanjo, relativo a la Gestión de Archivos de Excel desde Access.
En este curso se tratan los principales puntos para realizar un CRUD desde Excel, usando como gestor de BBDD Access, tu explicación es bastante clara y didáctica.
muchas gracias Sergio.
La verdad es muy util y por favor como hago para descaergar en una hoja de calculo y no en un formulario los datos desde access
Te quedo espectacular e impresionante. Que probabilidad hay que puedas hacer algo sobre cubos olap. Y sabes algo deberías hacer tutoriales de ACCESS estoy seguro de que lo harías muy bien como lo haces en excel. Cuidate mucho y Cree me. Eres un experto.
Hola, Excente video. Toda la informacion que nos entrega es ORO👏👏👏
Será excelente, haber si nos enseñas en la próxima entrega como modificar y borrar esos registros que se han en la tabla de accesos. Este video sinceramente es una joya. Gracias por compartirnos esto con tan buen método de enseñanza.
Extraordinario, Sergio. Una muy buena opción para almacenar datos desde Excel. Gracias.
Este tutorial debería tener miles y miles de like !
Me ayudas a compartirlo?
@@SergioAlejandroCampos por supuesto
Muy buena explicación. Me gustaría que ahondaras en más ejemplos, cómo eliminar datos de la tabla, actualizado, etc
Excelente codigo, me ayudo mucho a cargar muchos datos a traves de un ciclo, contando el numero de filas
Muchas gracias por el tutorial. Me ha ayudado a aclarar algunas dudas que tenía de como hacer la conexión y utilizarlo para un proyecto que estoy haciendo. Saludos
Buenas tardes, ante de cualquier cosa deseo agradecer su disposición para enseñar, en especial gratuitamente.
Estoy trabajando con su video de , como crear una BD en access desde Excel.
No he podido cargar la base de datos desde Excel pues me sale el mensaje " no se pudo encontrar el archivo ISAM inestable. En lo que he investigado me recomiendan que eliminé unos parametros de mi cadena de conexión. No entiendo porque debería de hacerlo si mi Excel es versión 2016 al igual que access, llevo dos meses tratando de copiar desde Excel a una BD de acces y no ha sido posible. Nuevamente muchas gracias por su dedicación y esfuerzo por enseñar.
Excelente herramienta poder combinar excel con Acces. Sergio como quedaría el código para registrar una Factura de Venta dónde tengo 1 solo número de documento de venta, 1 cliente y que a su vez registre 2 o más registros asociados a la venta. Te lo agradeceré muchísimo
¡Nuevamente se lo agradezco demasiado!, en serio muchas gracias. Saludos y bendiciones.
Me alegra que te ayude el contenido que público
buenas, es muy interesante todo eso si sale bien, en mi caso lo he intentado replicar y me sale error siempre no se que puede ser (no se casi nada de programación) asi que... el error es el siguiente: "se ha producido el error ´3709´en tiempo de ejecución: No se puede utilizar la conexión para realizar esta operación. Está cerrada o no es válida en este contexto." me puedes echar un cable?.
Como siempre, magistral
Sergio cordial saludo como siempre un excelente tutorial impecable información clara y precisa se puede notar qué tienes un gran y profesionalismo y conocimiento gracias por ese esfuerzo tiempo y dedicación.
Te quiero hacer una consulta cómo se podría hacer para en este mismo tipo de base de datos pudiéramos guardar una imagen una opción sería en la base de datos directamente en la archivo de access y la otra sería guardar el nombre en la base de datos y crear un asimismo directo digo guardar nuestra imagen.
Excelente, el mejor! he aprendido bastante maestro
excelente profe .... a la espera de editar, busca y eliminar registro ... y como no crear reportes con los datos del access en excel ... Saludos!!
Hola Sergio. Soy un acérrimo seguidor de tu canal y al ver este video me ha surgido una duda...y si la base de datos tuviera una clave?. Me podrías echar una manita y explicarme como lo haríamos para acceder a nuestra base de datos? . Muchas gracias de antemano por tu ayuda.
Lo voy a probar cambiando el userform.por las celdas con valores
Muchas gracias x su aporte maestro...una duda si quiero agregar al registro de access imagenes desde excel una especie d boton q jale del disco c la imagen y la agregue al registro q estoy dando d alta
Buenísimo Sergio! Me encantan todos tus videos creo que son de los mejores tutoriales de excel en youtube en español. Tengo una consulta: Puedo aplicar este código si el path tanto del archivo en excel como del archivo en access es en onedrive?
Muy bien Sergio, didactico y util!!
Sergio Muchas gracias por estos videos tan instrutivos que nos presenta, una consulta como hacer para modificar varios registros de una base de datos acces desde una Listbox en Excel
Hola Bernardo. Revisa el curso de macros de este canal y mira los videos donde hablamos del ListBox
Hacerlo con excel un archivo excel que funcione como servidor.
Estaría muy bueno.
Gracias por sus conocimientos.
Sergio muchas gracias por tus valiosas aportaciones, solo tengo una pregunta: podrías hacer que ese formulario tenga un cuadro combinado con datos de una tabla de access?
Muchas gracias lo felicito , excelente como explicar
Muchísimas Gracias Sergio por su gran ayuda
Sergio, en el video hablas de familiarizarse con cada una de las instrucciones y propiedades que configuran el código que utilizas. Ya sé que se puede encontrar todo en Internet pero, ¿me recomendarías algún libro o manual en concreto que sea didáctico? Gracias.
Claro Carlos. Por prinicipio de cuentas puede comenzar con la ayuda técnica de Microsoft Docs, viene muy amplia en conceptos: docs.microsoft.com/en-us/office/vba/api/overview/language-reference
Por otro lado, te recomiendo buscar libros de VBA de Bill Jelen y John Walkenbach. En RUclips te recomiendo el curso de macros del canal Excel hecho fácil o ADNDC tutoriales.
@@SergioAlejandroCampos Muchísimas gracias Sergio.
Excelene Sergio, muy bueno. pero que tal si la ruta de Ms. Access esta en otra ruta es decir otra carpeta? ambos archivos estan en carpetas diferentes.? como agrego la ruta?
Set Conn = New ADODB.Connection
MiConexion = ruta
With Conn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open MiConexion
End With
Sergio felicitaciones es posible extraer el registro sergio en excel y todos los demas datos correspondientes a esta consulta y poder trabajar normalmente en excel mil gracias nuevamente
muchas gracias por el aporte Sergio!!!! abrazos!!!!
Muchas Gracias!! Me has ayudado mucho con este video
Excelente canal
Excelente vídeo!
Saludos Sergio. Me gustaría que pudieras ayudar sobre la conexión de excel 2013 con un archivo access que tiene contraseña.
Excelente, muy bueno. Muchas gracias.
Sergio buen dia, te quiero preguntar:
Cuando habilitamos la referencia que realizas en el video de Microsoft Activex Data Objects 6.1 library, si ademas de ejecutarla en la maquina donde lo codifiqué, también tengo la necesidad de ejecutarla en otro equipo, tengo que realizar los mismos pasos de activación de la referencia en ese otro equipo o la aplicación ya reconoce internamente esa configuración de la referencia.
por tu respuesta gracias
gracias, sergio, explicado, se podria hacer varias cosas como modificar o eliminar archivos , como se hace con escel vba macros, gracias voy a seguir investigando , excel y acces es potente
genial Sergio por esta entrega fabuloso gracias pulgar arriba pendiente de mas sal2
Hola Sergio, como puedo hacer para insertar valores vacíos en un campo numérico en una tabla Access desde Excel, ¿existe alguna función en Excel que permita ingresar vacios en campos numericos?
Master una pregunta, anteriormente cuando yo depuraba paso a paso una macro y colocaba el mouse en una variable me mostraba su valor y ahora ya no, a que se debe?
Hola . Tengo una pregunta si l a base de datos está en la nube, puedo modificar el código para que se consulte y guarde información en ese acces de la nube ( one drive) , esto es para que en vários computadoras puedan interactuar con la información.
Buenísimo el vídeo; estaré al pendiente de nuevos.
Excelente video, pero tengo una inquietud realice todo lo que indicas pero tengo un problema para controlar un error, y es que si el registro ya existe necesito que no inserte los datos en la tabla destino.. me podrías ayudar?
Excelente explicación maestro, tengo una duda con la variable MiComexion, esto quiere decir que si tengo 5 tablas cada vez que vaya a utilizar una tabla debería utilizar la variable MiComexion?
Gracias.
Vas a actualizar toda las tablas en un mismo procedimiento?
@@SergioAlejandroCampos No, una tabla a la vez, ej la tabla usuarios y después la tabla productos.
Gracias.
Tienes dos opciones, abrir la conexión en cada procedimiento o dejar pública la variable MiConexión y no cerrarla sino hasta que cierres el archivo.
Gracias Sergio portu aporte, y como seria en caso que yo quiera colocar la bd en otra maquina, y trabajar en red, ojala pudieses hacer un video referencial. Gracias nuevamente
Hola Sergio, muchas gracias por tu aportación, se me está presentando un reto, para la definición de la ruta en donde se encuentran los archivos, me está generando un error al identificarlo, tengo conectado el equipo al repositorio en la nube One Drive, entonces con el comando:
MiConexion = Application.ThisWorkbook.Path & Application.PathSeparator & MiBase
Modifiqué el valor del String "MiBase" a la dirección completa: C:\Users\IHR México\OneDrive - IHR MEXICO\Escritorio\Cotizador\CotizadorV1.accdb
En tu opinión, crees que este error está relacionado a que use el repositorio en linea? con este cambio si me permitió realizar los registros.
De antemano muchas gracias y mucha fuerza en estos tiempos de pandemia!
Hola, me han gustado mucho tus videos no sé si me puedes ayudar a resolver sobre el campo fecha ya que este no es obligatorio que se vaya con datos a la base de datos de Access pero me genera error y me pide obligatoriamente llenar este campo y no es la idea porque debe ser opcional. Te lo agradezco mucho desde ya!!!
Excelente amigo Andrés. Gracias por el aporte. Pregunta de donde podemos buscar la información de los métodos.
Muchas gracias mi estimado.
Excelente! Una consulta, cómo se modificaría el código, si el archivo de access tiene contraseña (modo exclusivo)? Gracias
Hola Sergio muy buen aporte, una pregunta al respecto como puedo hacer para que todo lo que escriba en el textbox 1 vaya en mayuscula, en el textbox siempre sea una fecha y se completen las / solo al escribir formato: dd/mm/aaaa y en el 3er textbox que me escriba los dos puntos del formato hora (":"), es decir escribo 4 numeros y me escriba los :.
Gracias ojalá me puedas ayudar!!!
Sergio excelente tuto, pero tengo una duda, como se podría contrarrestar que dos usuarios ingresen info al mismo momento es decir cuando sucede esto me crea dos acces ya que no combina la información
Sergio mis sinceras felicitaciones y compartir tus conocimientos mil gracias yo hago una pregunta tengo una base de datos grande es posible de toda esta base enviar a access y luego consultar y poder trabajar en excel ej cod nombre apellido cedula y mas y luego consultarla y extraer el registro desde access hacia excel como el buscarv de excel ya que tener tantos datos en un libro de excel se hace tan grande y creo que con access se puede disminuir enormente el tamaño del archivo nuevamente mil gracias y si es posible realizar otros videos access - excel
puedes conectar Excel directamente a tu base sin necesitar intermediario. Por otro lado, la ventaja es que podrías hacer consultas y copiar su código SQL . En otros comentarios he pegado una macro para cuando ya tienes tu consulta en SQL ya sea que la copies o tu mismo la diseñes.
La conexión y cierre se debe hacer en cada formulario? O se puede global para no estar copiando el mismo código por cada uno. Saludos. ✔️
Muy muy bueno!!! y si en caso queremos insertar en varias tablas?
Excelente, Sergio.
Muy buenos videos tutoriales, te felicito
Sergio, una consulta... que tan eficiente o "no problemático" resulta trabajar con ambas aplicaciones (Access y Excel) una para almacenar y la otra para gestionar la base de datos, en un entorno de red de 4 pc?
desde ya muchas gracias por compartir tus conocimientos.
Omar - Argentina
Buenas, Me sumo a la consulta tengo el mismo conflicto pero usando excel ahora y quiero probar con access en tiempo real en varios equipos, 2 cargando líneas y otros consultando desde userform excel (No puedo usar macros en access por el firewall corporativo)
yo tengo un macro que igual inserta datos en una tabla se acces, pero tiene un problema, aveces de tanto registrar, se traba y me genera un archivo con temporal extension .TMP por ejemplo (AADCSU2566.TMP) y no me guarda los datos y tengo que reiniciar mi macro, ya he buscado y no encuentro nada, alguien me podria explicar por que y como se puede solucionar
excelente
Excelente Sergio. Será posible crear un ejecutable del formulario ?
Hola. Desde Excel no se puede, pero creo que existe una manera de hacerlo usando una aplicación externa. Es cuestión de buscar.
@@SergioAlejandroCampos Gracias, buscare.
Excel-ente. Muchas gracias!
Tack!
cambia mucho la sintaxis si la conexion la quiero hacer de excel a sql?
Mira este artículo www.exceleinfo.com/conectar-excel-a-access-mysql-y-sql/
La tabla de access puede estar en otra ruta ? O tienen que estar en la misma ruta
Buen vídeo. ¿Como podría agregar más de una fila? Es decir: tengo una base de datos en excel y debo pasarla a acces.
Hola Sergio, muchas gracias por los videos, queria consultarte acerca de la variable Miconexion, en mi dirección lo envia directamente al one drive y al momento de ejecutar la macro, no encuentra el archivo. Como puedo solucionarlo?
Sergio es posible que varios ordenadores puedan ingresar información al mismo tiempo?
si queremos que la macro copie unos registros que introducimos manualmente en un excel, ¿cómo lo hariamos con la programación VBA?
excelente video sergio, tendras otro ejemplo para consultar datos, borrar datos o corregir o actualizar gracias de antemano
Hola. De hecho este video forma parte de una lista de reproducción donde vemos esos temas.
@@SergioAlejandroCampos gracias ya encontre los cinco que estan relacionados directamente
EXCELente.
Y si tengo varias tablas que sugieres?soy nueva en access
Muchas gracias! Pero por alguna razón no me conecta a la base de datos de Access. Aparece error "Not a valid file name". Seguí al detalle tus instrucciones y no me conecta.
excelente tutorial pero me falta una referencia en la librería y no puedo establecer la conexión con access
saludos maestro
buen dia tengo un campo del tipo datos adjuntos al momento de querer agregar el fichero no me deja que tengo que hacer
Ok
Lo intenté pero qué guarde de celdas de Excel, pero se ejecuta, dice éxito, pero no se guardan los datos en la tabla
Buenos Dias .... tengo una duda con lo que estoy haciendo te la puedo enviar y la revisas... y me puedes decir como corregirla
buenas. En mi libreria no tengo el Data Objects 6.1 Library. Que debo hacer?
Esto funciona si el archivo de accesos está cerrado??
Como evitar datos duplicados para no ingresar dos datos iguales a esa tabla?
Cómo hiciste para crear ese cuadro donde agregas la info en excel??
alt + f11
inserta Useform
Lo diseñas a tu gusto
Segio, un saludo!! Amigo, tengo un problema con el funcionamiento de las instrucciones que nos has facilitado. He logrado correr la macro exitosamente (al punto de recibir el mensaje de "Alta exitosa"). Pero al revisar mi base de datos en Access, resulta que no se ha insertado ningun tipo de informacion en la tabla :-(..... tienes alguna idea del "por qué" sucede esto??
Solo se me ocurre que valides que el nombre de la base y los campos sean correctos.
Me ocurre lo mismo :(
revisa la cadena de coneccion: LockType:=adLockOptimistic, _
Hola, me pasa lo mismo , alguien pudo arreglarlo?
@@runwithcharles6977 si funcionó, gracias
hola guapuras
Like, fav y me suscribo
Se ejecuta el código, me sale el mensaje de que se ingresaron, pero no se ingresan los datos. Lo hice desde una celda y desde un textbox y el resultado es el mismo 🥲
Hola, alguien podría ayudarme, lo que pasa es que todo me sale bien al parecer pq no me marca error pero al momento me sale guardado exitoso, cuando checo en acces no sale nada
CUAL SERIA EL CODIGO PARA DJUNTAR MEDIANTE CODIGO VBA DE EXCEL A CAMPO DE ADJUTO EN UNA BASE DE DATOS DE ACCESS
Y si tengo varias tablas enlazadas?
Yo tengon un problema al guardar en acces con macros, deja de funcionar mi aplicacion y crea un archivo. Tmp por ejemplo 23344AFE34.tmp y no me guarda nada y se pierde el trbajo de ese momento y hay que volver abrir eo aplicativo exce, no lo hace simepre pero si pasa, alguin me puede explicar que se puede hacer?
y como hago la conexión si el Access tiene una clave de acceso ????
Hola, no se puedas ayudarme hice el código tal cual como en el video pero me sal un error en .Open MConexion
Que puedo hacer en este caso el error es Runtime error 214721783(80040e4d)
me sale lo mismo, lo pudiste solucionar?
Que hago
👍👍✔✔👌👌🦾🦾👀👀🤗🤗😎😎🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺