Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2006, 09:17
Morgui
 
Fecha de Ingreso: diciembre-2004
Ubicación: La Rioja
Mensajes: 336
Antigüedad: 19 años, 5 meses
Puntos: 2
Guardar resultado consulta vb access

Hola!

Estoy haciendo un mini programita muy sencillo en visual basic con access y necesito añadirle código para hacer una cosa que no sé ni por dónde empezar. Creo que es algo sencillo pero mis conocimientos son entre mínimos y nulos.

Explico el asunto:

El programita en cuestión es una base de datos access 2002 con un módulo que realiza unas acciones muy sencillas: ejecuta consultas ya creadas, exporta tablas, añade registros, modifica campos...

Una de las tablas de mi base de datos, tiene un campo que es la ruta de unas fotografías que están ubicadas en mi equipo. He creado una consulta que me devuelve algunos registros de esa tabla.

Lo que necesito es eliminar las fotografías de los registros que me devuelve la consulta. Es decir, quiero hacer un bucle que recorra el resultado de la consulta y elimine de mi equipo el archivo cuya ruta es el campo "ruta" del registro. En definitiva, eliminar todas las rutas que devuelve la consulta.

Buscando por ahí he llegado a esto:

Dim Db As Database 'Variable para las Bases de Datos
Set Db = OpenDatabase("C:\Webs\Gran vía\BBDD\datos2.mdb")

Dim SQLTmp As String
Dim MySnap As Recordset

SQLTmp = "select * from Fotografias" 'Aquí me da igual ejecutar una consulta ya creada que la sentencia sql como aparece

Set MySnap = Db.OpenRecordset(SQLTmp, dbOpenSnapshot)

Y aquí me faltaría el bucle con el comando kill para ir eliminando los archivos. Uno de los problemas es que lo que yo quiero no es abrir otra base de datos, sino ejecutar una consulta sobre una tabla de esta base de datos donde está el módulo con el código. Pero con esto me obliga a que sea otra base de datos porque si no se queja de que está abierta de modo exclusivo, con lo que he tenido que hacer un duplicado de la base de datos para poder probarlo. Quizás es cuestión de que no se abra de modo exclusivo pero no sé si hay forma.

Por otra parte, tal y como lo tengo ahora, me lanza el error 13 en la última linea. Creo que una vez consiga tener el recorset con los datos, no tendré problema en el bucle, pero no consigo guardar el resultado para poder recorrerlo después.

Muchas gracias por su ayuda y por su tiempo
Un saludo