Ayuda con access

Hola Numerobix, verás, estoy haciendo una base de datos y quiero hacer en ella algo que realmente no estoy seguro de que se pueda. El caso es que me gustaría introducir para cada uno de los registros un hipervínculo o algo parecido que en lugar de abrir una página o archivo, me ejecutara una orden del tipo 'copiar el archivo c:\mis documentos\archivoA a c:\copias', por ejemplo, no se si me explico. Y esto, con el objeto de que desde la base de datos pudiese gestionar una gran cantidad de archivos localizados en una carpeta determinada. En la práctica: tengo una base de datos en la que cada registro es un archivo de texto, y tengo unos 5000 registros. Los archivos de texto a los que se refiere la base de datos están en una carpeta repartidos en muchas subcarpetas y estas a su vez divididas en más subcarpetas.
A veces necesito 5 ó 6 de esos documentos, y me gustaría no tener que navegar a través de las carpetas para encontrarlos sino pulsar sobre el hipervínculo en la base de datos que ejecutara la orden de copiar esos 5 ó 6 documentos a una carpeta determinada...
En fin, se que es complicado pero lo mismo se puede hacer y es fácil (a pesar del trabajazo de vincular una orden determinada a cada uno de los registros).
Muchas gracias por tu ayuda.

1 respuesta

Respuesta
1
La función que buscas es COPYFILE.
FileSystemObject.CopyFile "c:\Mis documentos\cartas\*.doc", "c:\carpetatemp\"
Si tienes algún problema busca en la ayuda de access COPYFILE o dímelo y te explico más.
Hola numerobix, antes de nada muchas gracias por contestar. He estado intentando buscar lo que me dices, pero me da la impresión de que es algo bastante más complicado que poner un hipervínculo en una tabla de access. En la ayuda de access no aparece nada sobre copyfile, y buscando en google veo que no es algo exclusivo de access y que tiene que ver más con programación tipo vb... Verás, desconozco cualquier lenguaje de programación, y te agradecería que me guiaras un poco más en los pasos a seguir (salvo si ves que va a ser realmente complicado... no quiero marearte) o quizás indicarme alguna dirección o tutorial donde pudiese mirarlo...
Muchas gracias de nuevo y hasta pronto
Es que pensaba que sabias de VBA.
Bueno entonces la cosa cambia.
En la ayuda de access esta claro que no aparece nada, por que el tema esta en VBA.
Para el tema que quieres es IMPRESCINDIBLE que hagas un pequeño programa, no te asustes, por que es fácil.
En primer lugar crea al lado del hipervínculo un botón, cuando te diga el ayundante que hacer cancelas. De este modo lo tienes "vacio", vamos que lo pulsas y no hace nada.
Ahora en modo diseño selecciona el botón, propiedades.
Te aparece una ventana, pincha en la tercera pestaña (EVENTOS) y veras un montón de eventos, selecciona el evento "AL HACER CLICK" tiene una lista desplegable, selecciona [Procedimiento de evento] que es lo único que te deja, je je. Ahora dale a los tres puntos que te aparecen en la derecha de este evento y se abrirá (o debería) el editor de VBA.
Ahora es fácil.
Como ves aparece una instrucción que comienza con :
Private Sub Comando20_Click()
y termina con:
End Sub
entre estas lineas copia lo siguiente:
'-----------------------------------------------------------
Dim FileSystemObject As Object
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile MiCuadroDTEXTO, "c:\"
'-----------------------------------------------------------
Ahora lo que tienes que modificar:
Donde porne MiCuadroDTEXTO tu tienes que poner el nombre del cuadro de texto donde se encuentra la ruta completa del archivo que has de copiar.
Donde pone "c:\" tienes que poner la ruta donde quieres que se copie.
Se podría depurar el código para que creara la carpeta si no existe, etc. pero no vamos a complicarlo en exceso.
Venga si tienes más dudas o lo que sea me avisas.
No sabes cuánto te agradezco tu ayuda numerobix. La verdad es que es algo complicado, al menos para mí que no manejo nada de programación y poco de access.
No sé si es esto exactamente lo que quiero, ya que lo que necesito es copiar documentos uno a uno, con lo cual debería crear un botón para cada documento (¿no?) Y tengo más de 5000 documentos (ya es laborioso crear un hipervínculo para cada uno, cuanto más puede serlo hacer lo otro).
Verás, la idea sería que fuese algo más sencillo, como crear un campo para hipervínculos en el que se pudiera poner una orden ms-dos del tipo "copy c:\documentos\prueba.txt c:\copias", por ejemplo, y que al pulsar sobre el hipervínculo se ejecutara esa orden ms-dos... esto lo haría individualmente en cada uno de los más de 5000 registros, como ya lo estoy haciendo para abrir el documento desde access. Tengo una idea muy básica de access, sólo sé crear tablas con distintos tipos de datos y poco más, eso sí, sin asistentes...
En fin, no te quiero molestar más y por eso he finalizado la pregunta (entre otras cosas porque es muy probable que lo que yo quiero sea un imposible)... te agradezco de nuevo tu ayuda, y si quieres comentarme algo puedes hacerlo a [email protected]
Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas