Access - Crear botón de búsqueda de archivos

 
Vista:
sin imagen de perfil
Val: 16
Ha disminuido su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Crear botón de búsqueda de archivos

Publicado por anastasiya (8 intervenciones) el 11/04/2018 06:58:09
Buenos días a todos

Me gustaría saber si hay alguna forma de conseguir lo siguiente:
Lo que necesito es que haya algún tipo de botón en un formulario que te permita ir a una carpeta concreta del equipo y a continuación si pulsas sobre algún archivo de esa carpeta que te guarde su hipervinculo en un campo.

Muchas gracias por su ayuda!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Crear botón de búsqueda de archivos

Publicado por Jesús Manuel (375 intervenciones) el 11/04/2018 08:07:03
Si tienes un campo tipo hipervinculo (RutaArhcivo), en el evento doble clic:

1
2
3
4
5
6
On Error GoTo Err_RutaArchivo 'Esto es un control de errores por si cancelas el selector de arhivos
DoCmd.RunCommand acCmdInsertHyperlink
DoCmd.Save , ""
Exit Sub
Err_RutaArchivo:
MsgBox "Enlace de documento cancelado", vbInformation, "CANCELADO"

Con esto puedes guardar la ruta con un selector de arhivos y en caso de cancelar el selector tendrías el mensaje de aviso. Puedes eliminar la línea del msgbox, pero manten el control de errores para evitar un mensaje de error si cancelas.


Jugando con esto, podrías:
- Ocultar el campo hipervinculo, con Punto de tabulación=NO (Propiedades/Otras), y con un tamaño de campo "minúsculo" (para que luego al hacerlo visible e invisible non se vea por un momento) y colocar el código anterior en el evento al recibir el enfoque.
- En un botón (cmdRuta): hacer visible el campo hipervinculo, pasarle el foco, devolverlo al botón y ocultar el campo hipervinculo
1
2
3
4
Me.RutaArchivo.Visible = True
Me.RutaArchivo.SetFocus
Me.cmdRuta.SetFocus
Me.RutaArchivo.Visible = False
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 16
Ha disminuido su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Crear botón de búsqueda de archivos

Publicado por anastasiya (8 intervenciones) el 11/04/2018 08:54:12
Muchas gracias! Voy a intentar hacer lo que me dices.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha disminuido su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Crear botón de búsqueda de archivos

Publicado por anastasiya (8 intervenciones) el 11/04/2018 09:37:22
Me ha funcionado a la perfección pero tengo otra duda , es possible hacer que al abrirse el explorador se Habra en una carpeta fija por ejemplo directamente a C:\Program Files\Adobe

Gracias por adelantado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Crear botón de búsqueda de archivos

Publicado por Jesús Manuel (375 intervenciones) el 12/04/2018 07:53:14
Creo que con este método no, pero he usado otro en alguna ocasión que si lo permite.

En este caso para que funcione el código lo primero es que en la ventana de visual basic (ALT+F11) hay que ir al menu Herramientas/Preferencias y tener marcada Microsoft Office xx.0 Object Library (el xx depende de la versión que tengas, en mi caso es 14)

Una vez hecho esto, el código para el botón es:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim fFile As Office.FileDialog
Dim vFile As Variant
 
Set fFile = Application.FileDialog(msoFileDialogFilePicker)
 
With fFile
 
    .AllowMultiSelect = False
    .InitialFileName = "C:\Users\" & Environ$("username") & "\Desktop\"
    .Title = "SELECT FILE"
    .Filters.Clear
    .Filters.Add "PDF Files", "*.pdf"
'    .Filters.Add "All Files", "*.*"
 
    If .Show = True Then
        For Each vFile In .SelectedItems
            Me.RutaArchivo = vFile & "#" & vFile & "#"
        Next vFile
'    Else
'       MsgBox "No Selection Made", vbInformation + vbOKOnly, "PDF File"
    End If
 
End With


En .InitialFileName ="" es donde indicas tu ruta por defecto
En .Filters.Add puedes filtrar los archivos que se van a ver en el selector, si quieres verlos todos pon solo el filtro de *.*

La forma de guardar la ruta en Me.RutaArchivo es porque es un campo hipervinculo, para que mantenga el formato de tipo hipervinculo


Esta forma tiene más opciones pero también es más laboriosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 16
Ha disminuido su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Crear botón de búsqueda de archivos

Publicado por anastasiya (8 intervenciones) el 13/04/2018 10:30:45
Muchas gracias es exáctamente lo que buscaba, funciona a la perfección.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar