publicado el 26 de septiembre15 años Hola: A raíz de este post: Excel y MySQL He pensado que la respuesta, podría quedar como aporte. Se trata de un conjunto de macros y funciones que permiten de forma sencilla: Conectarse con una base de datos SQL (Acccess, MySQL, Oracle, SQL Server,...) Borrar una tabla Crear una tabla LLenar una tabla Consultar una tabla Insertar filas Modificar filas Eliminar filas Llenar una hoja Excel con los resultados de una consulta a una tabla. En el adjunto, hay una macro para cada una de las acciones, en módulos independientes. También existe un módulo con todas las acciones juntas en una sola macro. De los principales comandos de ADO, se han realizado funciones para que el código de las macros se vea mas limpio Función: Obtener una conexión Función: Obtener un Recordset con una instrucción SELECT de SQL Función: Ejecutar una sentencia SQL de actualización. En el adjunto encontrareis 4 hojas: Instrucciones SQL (Log de SQL. Está controlado por las funciones anteriores.) Hoja3 y Hoja4: Resultado de las consultas de los ejemplos Es necesario unos mínimos conocimientos de VBA, SQL y Bases de Datos SQL. No dudeis en preguntar. Un saludo. "Macro". Todas las macros han sido probadas sobre Access y funcionan correctamente. Excel y Bases de datos SQL con ADO.zip
publicado el 26 de septiembre15 años Hola Macro Antonio, excelente subo video para mejor comprensión. http://www.youtube.com/watch?v=BvH_VpvMm5I
publicado el 26 de septiembre15 años Excelente aporte de parte de los dos mis mas sinceras felicitaciones ni idea q se podia hacer esto con macros, haber si para seguir aprendiendo estos maravillosos test de aprendisaje, se pueda utilizar con formularios e ir guardando, modificando, elimando, consultas y reportes...no se si me paso con el pedio al igual q muchos deseamos aprender de tan maravillosa herramienta como lo es excel, si abuse para tal información, me disculpo...
publicado el 27 de septiembre15 años Autor Me ha gustado mucho el video. Muchas gracias. Si puedes, pásame el enlace de donde puedo descargar el programa con el que grabas el video. Un saludo. Antoni.
publicado el 27 de septiembre15 años Marco Antonio: Soy el autor de la consulta Excel-MySql, y lo primero que quería decirte es que la información que has proporcionado es increible. Mis felicitaciones y muchas gracias por la aportación porque me ha sido de gran utilidad. Después de estudiarme la información y aplicarla sobre una BD MySql, me surgen varias cuestiones: 1) En el caso de que tenga diversas Bases de Datos en MySql, ¿cual es la instrucción para dirigirme a una en concreto? 2) ¿se puede rellenar un comobox de excel utilizando una consulta de MySql en la que estén implicadas 2 tablas? 3) ¿pueden subirse archivos a MySql desde el vba excel? 4) Tengo instalado MySql a nivel local y funciona perfectamente, ¿se podría conectar vba excel con una BD MySql de un hosting? Gracias. Jose
publicado el 27 de septiembre15 años Autor Hola a todos: Adjunto un nuevo envío con mas ejemplos (Cuestiones 1, 2 y 3 de josapu). En cuanto a la cuestión 4, ni idea, pero por intuición creo que va a ser que no. Saludos a todos. "Macro". PD: josapu, por favor, cualquier otra consulta relacionada con este tema, hazla a través del post que abriste en el foro de macros. Gracias. Excel y Bases de datos SQL con ADO.zip
publicado el 28 de septiembre15 años Autor Hay un error en el adjunto de ayer. Sustituir esta fucnión: Function ADO_CONEXION(CONEXION As Object, Optional DATABASE As Variant = "MyDB") On Error GoTo ERROR_ADO_CONEXION '====================================================== ' Obtiene una conexión con la base de datos '====================================================== Set CONEXION = New ADODB.Connection Application.ScreenUpdating = False ThisWorkbook.Worksheets("SQL").Cells(9, 2) = "ADO_CONEXION" For x = 3 To 7: ThisWorkbook.Worksheets("SQL").Cells(x, 2) = "": Next x CONEXION.Open DATABASE 'CONEXION POR ODBC ADO_CONEXION = 0 Exit Function '------------------------ ERROR_ADO_CONEXION: ADO_CONEXION = 1 ThisWorkbook.Worksheets("SQL").Cells(5, 2) = Err.Number ThisWorkbook.Worksheets("SQL").Cells(6, 2) = Err.Source ThisWorkbook.Worksheets("SQL").Cells(7, 2) = Err.Description '------------------------ End Function [/CODE] Un saludo.
Hola:
A raíz de este post:
Excel y MySQL
He pensado que la respuesta, podría quedar como aporte.
Se trata de un conjunto de macros y funciones que permiten de forma sencilla:
Conectarse con una base de datos SQL (Acccess, MySQL, Oracle, SQL Server,...)
Borrar una tabla
Crear una tabla
LLenar una tabla
Consultar una tabla
Insertar filas
Modificar filas
Eliminar filas
Llenar una hoja Excel con los resultados de una consulta a una tabla.
En el adjunto, hay una macro para cada una de las acciones, en módulos independientes.
También existe un módulo con todas las acciones juntas en una sola macro.
De los principales comandos de ADO, se han realizado funciones para que el código de las macros se vea mas limpio
Función: Obtener una conexión
Función: Obtener un Recordset con una instrucción SELECT de SQL
Función: Ejecutar una sentencia SQL de actualización.
En el adjunto encontrareis 4 hojas:
Instrucciones
SQL (Log de SQL. Está controlado por las funciones anteriores.)
Hoja3 y Hoja4: Resultado de las consultas de los ejemplos
Es necesario unos mínimos conocimientos de VBA, SQL y Bases de Datos SQL.
No dudeis en preguntar.
Un saludo. "Macro".
Todas las macros han sido probadas sobre Access y funcionan correctamente.
Excel y Bases de datos SQL con ADO.zip