Saltar al contenido

Macros excel – vba 67.- extraer registros de access con sql - select

publicado

En este vídeo vemos como extraer registros de una Base de Datos Access mediante la sentencia SQL Select, todo desde Excel mediante código VBA.

Espero os guste y os sea útil.

Saludos.

Featured Replies

publicado

Enormemente agradecido por los vídeos que estas subiendo. Me están ayudando mucho a aprender cosas nuevas, pero habria alguna manera de poder vajarse los videos y guardarlos en un DVD todos juntos?

Gracias anticipadamente.

publicado
  • Autor

Hola Pepafg,

No conozco ningún método pero lo bueno que tiene la Web es que no necesitas hardware adicional para almacenar los vídeos. Además, estando en YouTube, tienes acceso desde el ordenador, portátil o móvil.

Saludos.

publicado

yo utilizaba el atube-catcher, pero he observado que pierde la voz al descargarlos. Por ese motivo era mi pregunta. No has pensado en montar un DVD con todos los videos? seria bastante interesante.

Gracias de todos modos.

publicado
  • Autor

De todas formas no tengo todos, eliminé bastantes debido a que ocupaban demasiado. Solo tengo, de los publicados en YouTube, los siete últimos, de los de VIMEO tengo todos. ¿Cual es tu interés en tenerlos en DVD?

publicado

Poderlos ver en cualquier reproductor de vídeo y no solo en el portátil o en el ordenador de escritorio

publicado

He intentado hacer el ejercicio que proponías en los últimos tres vídeos y me da error en la primera linea cuando declaras: Dim conexionbasedatos As Object. Creo que utilizas el escel 2013 pero no estoy seguro. Me lo podrias confirmar o decirme donde puedo tener el error

Libro1.rar

publicado
  • Autor

Pepefg,

El vídeo está grabado con el 2013 pero ya lo probé hace tiempo en el 2010.

Te comento que no tengo ningún descompresor para los .rar... creo que los .zip si los puedo abrir.

Saludos y gracias por ver el vídeo.

publicado
  • Autor

A primera vista no lo he podido ver, trata de probar función por función a ver cual es la que te da el error. Prueba primero con la de la conexión a la BD.

Saludos.

Dim conexionbasedatos As Object

Public Function conectarbasedatos()
'Crea el objeto que se utiliza para acceder a la base de datos
Set conexionbasedatos = CreateObject("adodb.connection")
Dim caminofichero As String
'Lugar donde está almacenada la BBDD, en este caso "ACCESS"
caminofichero = "C:\Users\Invitado\Documents\Curso Macros\ejemplobdvba.accdb"
Dim Parametros_conexion As String
Parametros_conexion = "provider=microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & caminofichero & ";" & _
"Jet OLEDB:Engine Type=5;" & _
"persist security info=false;"
'Se conecta a la BBDD
conexionbasedatos.Open Parametros_conexion
'https://msdn.microsoft.com/en-us/library/ms676564(v=vs.85).aspx
'https://msdn.microsoft.com/en-us/library/ee252442(v=bts.10).aspx
'Client-Side Cursor
conexionbasedatos.cursorlocation = 3
' Call closedatabase
End Function
[/CODE]

publicado

En esa ya me da el error en:

Dim conexionbasedatos As Object

me indica que no se ha definido el tipo definido por el usuario.

Saaludos.

publicado
  • Autor

Deja, en el editor, solo el código que te puse arriba y ejecútalo para ver si es ahí donde te da error, a mi no me da error, lo he hecho en tu fichero.

Saludos.

publicado

Seguro de falta la referencia de esto:

alt + F11/herramientas/referencias/microsoft activex data objects 2.x library

publicado

Ahora no da error. voy a añadirle la macro de cerrar la conexión con la BBDD.

Saludos.

publicado
  • Autor

Mil gracias, Rolano, por tu intervención.

pepafg,

Ve añadiendo más código, poco a poco, para ver si te vuelve a salir el error y tener claro dónde se genera.

publicado

Gracias Rolano pero esta marcada.

Ahora me da error en la macro accesobasedatos.

La macro de borrar funciona perfectamente.

Saludos

publicado

Se general al llamar a la conexion a la base de datos:

Call conectarbasedatos.

Saludos

publicado

Exactamente falla en el RS.Open que no recibe los datos de la base de datos.

Saludos

publicado

Error encontrado y solucionado. Era un error al copiar las instrucciones de crear el RS.

Gracias a todos por la ayuda.

Tema Solucionado.

publicado

Gracias a ti por los videos que nos instruyen en este mundo de la programación en excel.

Saludos y nuevamente Gracias

  • 4 months later...
publicado

Buenas tardes @José_Santos,

Estoy siguiendo tus videos porque me interesa bastante éste tema y no controlo ciertas cosas. Estoy haciendo pruebas con un access y un excel. El fichero access tiene 9 campos pero de forma automática me ha agregado un campo Id en la tabla.

El problema que tengo es que si intento extraer diez campos me dice que el décimo campo del recordset no existe. Pero si extraigo nueve campos, el primero de ellos es el Id de la tabla en lugar del campo Fecha, que es el que tengo cómo primer campo.

¿Podrías decirme a qué se debe ese comportamiento?

Utilizo la versión 2016. Tengo que probarlo en el trabajo, con 2007 por si el comportamiento es diferente, pero me ha resultado extraño.

No se si me explico bien, lo siento.

Gracias.

publicado
  • Autor

Hola,

Normalmente el índice "0" hace referencia al campo "ID" luego van los otros campos, del 1 hasta el final.

Saludos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.