Guardar Registros en Base de Datos SQL desde Excel Masivamente (Tutorial Completo)

Поділитися
Вставка
  • Опубліковано 7 лют 2025
  • ¡Bienvenidos a un nuevo video de Inteligencia Eficiente! 💡
    Este es un tutorial completo donde crearemos una macro que transfiera nuestros datos de Excel a una base de datos SQL de manera masiva.
    ¿Necesitas asesoría personalizada? ¡Contáctame!
    💻 Facebook: / inteligenciaeficiente
    📧Gmail: inteligenciaeficienteYT@gmail.com
    Descarga los archivos de apoyo:
    www.mediafire....
    Música utilizada:
    Hola Beats - Life, universe and everything - open.spotify.c...
    Me ayudarías bastante si lo compartes con todas las personas a las que creas que puede interesarles este video. 🤩 🙏

КОМЕНТАРІ • 55

  • @erikleon8516
    @erikleon8516 2 роки тому +2

    Gracias por el aporte, algo así andaba buscando; pasar un padron de inventarios pasarlos a una base datos de manera masiva; anteriormente lo iba capturando registro por registro.

  • @danielmanfra8216
    @danielmanfra8216 Рік тому

    Muy bueno. Gracias por compartirlo.

  • @Jeankarlos687
    @Jeankarlos687 2 роки тому

    Excelente explicación ya lo voy a adaptar para un lisbox gracias por eso saludos

  • @jorgearturomoralesmorales1067
    @jorgearturomoralesmorales1067 9 місяців тому

    BASE DE DATOS SQL INSERTAR DATOS. EXCELENTE.

  • @ELTigritoTech
    @ELTigritoTech Рік тому

    Buenísimo!!!!!!!!

  • @franciscotriano8344
    @franciscotriano8344 Рік тому

    Muy bien explicado , ¿se puede hacer un "truncate table" a la tabla a la cual quieres insertar datos antes de hacer el insert?

    • @InteligenciaEficiente
      @InteligenciaEficiente  Рік тому

      Hola Francisco! Sí es posible solo necesitas escribir en comando en una variable de tipo STRING y llamar a su ejecución como los comandos INSERT que vemos en el video, saludos!

  • @angelzomlucero9583
    @angelzomlucero9583 8 місяців тому

    MUY BUEN VIDEO Y TE FELICITO POR SU BUENA EXPLICASION; YO SOLO TENGO UNA DUDA SI SE TRABAJA COMO TABLA EL ARCHIVO EXEL AFECTA EN EL CODIGO DE LA MACRO? :)

    • @InteligenciaEficiente
      @InteligenciaEficiente  8 місяців тому

      ¡Hola! Gracias por comentar, no debería de afectar el funcionamiento de la macro. ¡Saludos!

  • @walterjavierdiazleal1691
    @walterjavierdiazleal1691 11 місяців тому

    excelente video muchas gracias.
    Utilizas sql workbench ? y para cuando utilizamos varias hojas de excel que son tablas en SQL ?

    • @InteligenciaEficiente
      @InteligenciaEficiente  11 місяців тому

      ¡Hola Walter! Sí, estoy usando workbench aunque también puede ser cualquier otro gestor SQL, como phpmyadmin o incluso VSCode tiene una extensión. En el caso que necesites escalar esta macro a varias hojas lo mejor es parametrizarla de manera que reciba el nombre de la hoja y el nombre de la tabla destino en SQL para que la macro sepa dónde hacer la inserción. Si gustas una asesoría personalizada puedes escribirme al correo que dejo en la descripción del video. ¡Saludos y mucho éxito!

  • @renefalconis7167
    @renefalconis7167 5 місяців тому

    pregunta, si la tabla en excel sigue extendiéndose en datos los copia todos junto con los registros nuevos o solo copia los registros nuevos? gracias e tu canal me esta enseñando mucho

    • @InteligenciaEficiente
      @InteligenciaEficiente  5 місяців тому +1

      ¡Hola! El método que usamos no discrimina a los registros existentes, sin embargo, puedes configurar tu base de datos con un campo UNIQUE, por ejemplo el id para que si ese id ya existe, la base de datos responda con un error, y la macro puede configurarse para manjear ese error ignorando la inserción y continuando con otros registros, de esta manera el proceso solo insertará registros nuevos con base en el id. Espero que esta información te ayude a cumplir tu objetivo y si deseas puedo apoyarte con un desarrollo personalizado, puedes contactarme al correo que dejo en la descripción del video. ¡Saludos! :D

    • @renefalconis7167
      @renefalconis7167 5 місяців тому

      Gracias lo empezaré a probar ​@@InteligenciaEficiente

  • @magurtoy2k
    @magurtoy2k 2 роки тому

    Hola felicitaciones, muy didactico el procedimiento. Consulta que referencia debo utilizar para insertar registros desde Excel en una base de Datos en la nube Amazon AWS DynamoDB?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому

      ¡Hola Marco! Tendrías que adquirir el controlador ODBC para poder conectarte a la base de datos. Me aparece que el controlador tiene un costo, te comparto el link: www.cdata.com/drivers/dynamodb/odbc/?kw=dynamodb%20odbc%20driver&cpn=16681169259&Search__-Connector-__Amazon_DynamoDB&ODBC_Driver_-_Amazon_DynamoDB&|dynamodb%20odbc%20driver&kw=dynamodb%20odbc%20driver&cpn=16681169259&gclid=CjwKCAjwkaSaBhA4EiwALBgQaKVjf08czakYrHesFoxXFzO_00mmhk2kaa4CacFtPS2t-oqeTyXu7BoCRX0QAvD_BwE

  •  Рік тому

    excelente

  • @analitycs1303
    @analitycs1303 Рік тому

    Excelentesheinnnn..!!!!

  • @jeanethmembreno9005
    @jeanethmembreno9005 2 роки тому +2

    Hola profesor. Se puede hacer un sistema de inventario. Que desde excel hagas los movimientos y en sql se descuente el inventario

  • @MarioFernandez-h8o
    @MarioFernandez-h8o 5 місяців тому

    Excelente video.
    Tienes alguna idea de porque cuando ejecutó la macro con la configuración de mis campos lanza el error de "El objeto no admite argumentos con nombre" si me puedes ayudar.

    • @InteligenciaEficiente
      @InteligenciaEficiente  5 місяців тому

      Hola Mario, muchas gracias por comentar, desgraciadamamente los mensajes de error de VBA no son muy claros, te agradecería si pudiéras cmpartirme al correo que dejo en la descripción del video las capturas de pantalla del mensaje de error así como de la línea de código que está entrando en error. Muchas gracias y saludos.

  • @sergiotorres513
    @sergiotorres513 11 місяців тому

    Amigo buen dia, muchas gracias por el video. Pude hacer el código en vb y al parecer corre perfectamente. Pero los datos no se ven reflejados en mi base de datos en Mysql. Presiento que hay alagun problema con la conexion ODBC, sin embargo, no tengo idea cual puede ser el problema porque antes he hecho conexiones a ODBC con otras herramientas y ha funcionado perfectamente. Agradecería cualquier recomendación

    • @InteligenciaEficiente
      @InteligenciaEficiente  11 місяців тому +1

      Hola Sergio, solo para que puedas comprobar que la conexión ODBC ha sido exitosa te recomiendo descargar la plantilla gratuita que coloqué en la descripción de este video: ua-cam.com/video/Hx-jgepmheY/v-deo.htmlsi=0wrqDUryarvq_f6N Si no hay error de conexión, lo que seguiría es revisar la sintaxis del comando INSERT INTO, puede ser que haya algún problema con la sintaxis, quedo pendiente. ¡Saludos!

    • @sergiotorres513
      @sergiotorres513 11 місяців тому

      @@InteligenciaEficiente gracias amigo. Lo leeré

  • @JonathanGonzalez-rs8gf
    @JonathanGonzalez-rs8gf 2 роки тому +1

    Buen día!, Muy bueno el ejemplo, pero en el caso de que en la hoja Excel se vayan incrementando los registros y se tenga que estar actualizando toda la tabla cada mes por ejemplo; ¿Cómo le hago para evitar insertar registros duplicados y cómo guardar los valores de tipo moneda en la base de datos tal y como se muestran en la hoja de Excel?.
    Te envío un correo para explicarte ampliamente el tema de mi duda, saludos. ¡gran trabajo!

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому +2

      Hola Jonathan! una manera de evitar los registros duplicados es el uso de Identificadores (IDs) y el marcar este campo como UNIQUE en tu base de datos de manera que si ya existe, la propia base de datos mande un error indicando que no se puede insertar ese dato ya existente.

    • @ock2403
      @ock2403 10 місяців тому

      una forma simple seria que si la actualización, tiene todos los registros en la hoja actual, bastaría con borrar la tabla y crearla igual con código sql, ahora si ejecutar la carga total de datos. Por otro lado en Excel , el tipo de dato numérico lo visualizas con un formato de "moneda". el contenido numérico se almacena sin ningún problema en tu base de datos

  • @TheINTREPIDO7
    @TheINTREPIDO7 Рік тому

    Buenos días, excelente video, pero una consulta si tienes un encabezado de 60 columnas,como seria, tendría que nombrar las 60, y darle su valor a cada uno, como INT,VARCHAR,ETC, como veo en tu video que tu nombras a tus 4 columnas. por favor espero que puedas despejar mi consulta

  • @cruzalbertocastro4168
    @cruzalbertocastro4168 Рік тому

    Saludos amigo, en el caso de la definición de los parámetros, para agregar los caracteres especiales cual sería el adxxxxxx, Por ejemplo, deseo agregar el símbolo de grados (°) y me salta el error.

  • @rogra173
    @rogra173 4 місяці тому

    Hola gracias por compartir sus conocimientos, tengo la siguiente duda mi ODBC es 9.0 creo la base y la table al momento de ejecutar la macro me aparece un mensaje de DEPURACIÓN y se detiene la macro en el paso EXCECUTE no se si es la versión que usa la 8.0

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 місяці тому

      ¡Hola! Sí, puede ser por la versión del controlador, desde este link puede descargar la versión 8.0 downloads.mysql.com/archives/c-odbc/

  • @DeadpoolMarvel-bk4dp
    @DeadpoolMarvel-bk4dp Рік тому

    hola de repente ya no me quiso abrir el archivo me marca un error y me lo abre pero me quita todo el codigo de visual tienes una idea del por que y un favor podrias proporcionarme el codigo en una hoja de texto quiero agregarlo a otro documento a ver como se comporta gracias de antemano

  • @AlaanPlacenciaTimoteo
    @AlaanPlacenciaTimoteo 10 місяців тому

    Consulta para que funcione el INSERTAR DATOS, el SQL debe estar abierto siempre?

    • @InteligenciaEficiente
      @InteligenciaEficiente  10 місяців тому

      Hola Alan, si te refieres a que necesitas tener abierto un gestor como MySQL o SQL Server, esto no es necesario, la que tiene que estar abierta es la conexión a SQL pero esa la creamos y abrimos desde la macro VBA.

    • @AlaanPlacenciaTimoteo
      @AlaanPlacenciaTimoteo 10 місяців тому

      @@InteligenciaEficiente Perfecto voy a probarlo

  • @bottonline4544
    @bottonline4544 2 роки тому

    Excelente contenido . Una pregunta quiero modificar la macro para SQL Server . Una pregunta , tengo instalado el Developer 64 bits en W11 - V15.0.2095.3 y el SSMS es la version 18.1 . Como se cual es el controlador ODBC que me aplica , porque en mi equipo tengo instalados 4 ? Creo es el ODBC driver 18 for sql server (v 2018.181.01.01) pero no estoy seguro. Saludos

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому

      ¡Hola! Su cadena de conexión se vería de la siguiente manera: Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
      No es neceario especificar la versión para SQL server, mas info: www.connectionstrings.com/microsoft-sql-server-odbc-driver/

    • @bottonline4544
      @bottonline4544 2 роки тому

      Gracias , por el apoyo . la corrí con los cambios sugeridos y me lanzo error en tiempo de ejecución '-2147217887 (80040e21)' ODBC SQL server driver por característica opcional no habilitada . consulte en internet y parece un error relacionado con la fecha. Probe de AdDate a adDBDate como recomiendas pero nada. Que podra ser en tu experiencia ?

  • @eduardobendix8346
    @eduardobendix8346 11 місяців тому

    No sé nada de SQL, alguien me puede confirmar si al importar datos en SQL desde excel, al hacerlo en repetidas veces, los datos se duplican? O SQL reconoce y solo importa los nuevos?

    • @InteligenciaEficiente
      @InteligenciaEficiente  11 місяців тому

      Hola Eduardo, al crear una tabla en una base de datos SQL puedes establecer una característica en cada columna para que solo tenga valores únicos, sin embargo, haciendo esto, si el registro ya se encuentra en la base de datos el método de inserción mandará un error, se puede hacer una adaptación a la macro para que si se detecta ese error debido a un registro duplicado simplemente continúe con el siguiente registro. ¡Saludos!

  • @marcosluna2238
    @marcosluna2238 Рік тому

    Hola muchas gracias por la aportacion, solo una duda en el caso que en lugar de insertar solo actualice algunos campos en diferentes tablas, se tienen que poner que tipo de valor es el dato?

  • @gerardorodriguez3657
    @gerardorodriguez3657 Рік тому

    Hola buen día, tengo un problema, si en mis celdas tengo palabras con acentos y al enviar los datos a mysql me deja cortadas las plabras que las contienen, ejemplo en excel tengo en una celda el registro "01 Preparación" y al enviar los datos a mysql solo se registra "01 Preparaci" es algun problema con mi bd o con excel?

    • @InteligenciaEficiente
      @InteligenciaEficiente  Рік тому

      ¡Hola! Puede deberse a configurar el charset en nuestra base de datos y en nuestra cadena de conexión, después de PASSWORD = ""; podríamos poner charset=UTF8;

  • @mymrepuestos6119
    @mymrepuestos6119 2 роки тому

    Hola buen dia
    buenisimo los videos
    al escribir .Parameters.Append no puedo continuar con la sintaxis
    opcionalmente estoy usando .CreateParameter("int", adLongVarChar, adParamInput, 255, int) = Parameter
    pero me da errores al ejecutar las macros y no guarda nada en MySql
    "the number of parameters makers is not equal to the number parameter provided"
    que prodra ser ?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому +1

      ¡Hola! El error menciona que el número de parámetros y el número de marcadores no es igual, los parámetros son las líneas que inician con .Parameters.Append y los marcadores son los ? que se escriben entre paréntesis después de VALUES.

  • @germanrudyk3632
    @germanrudyk3632 Рік тому

    Hola profe! Tengo un inconveniente al realizar la ejecucion...Me sale el siguiente mensaje de error: [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningun controlador predeterminado. Como driver utilizo el MySQL ODBC 8.0. Gracias!!

    • @InteligenciaEficiente
      @InteligenciaEficiente  Рік тому

      ¡Hola! Si aún continúas con problemas puedes enviarme tu macro por correo: inteligenciaeficienteYT@gmail.com ¡Saludos!

  • @JuanPerez-oo1ve
    @JuanPerez-oo1ve 2 роки тому

    Hola buen dia alguien que me pueda ayudar: al ejecutar la macro me arroja el siguiente error
    Error de compilación:
    No se admite el tipo de Automatización en Visual Basic

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому

      Hola Juan, puedes enviarme tu macro a inteligenciaeficienteYT@gmail.com para poder ayudarte con ese problema. ¡Saludos!

  • @SergioSanchez-q7q
    @SergioSanchez-q7q Рік тому

    Y si deseo agregar información con saltos de línea?

    • @InteligenciaEficiente
      @InteligenciaEficiente  Рік тому

      La bases de datos almacenan por cada registro, los saltos de línea serán almacenados como un caracter especial, SALUDOS!!

  • @lp-im4vt
    @lp-im4vt Рік тому

    y en sql POSTGRESS ????