Hipervínculo en Formulario Access 2007

Nuevamente solicitando de tu experiencia.. La pregunta es la siguiente:
Tengo un formulario llamado "Ingreso de Datos" con varios campos Independientes. Un subformulario que me muestra el contenido que voy ingresando a la tabla "Registros".
En el formulario principal tengo un campo independiente llamado "txthipervinculo" en el cual quiero buscar por medio de asistente la ruta a un archivo "pdf" (va a ser diferente por cada registro) me podrías indicar el código para que me llame el asistente y a su vez me guarde la ruta como hipervínculo para cuando la busque en el subformularios solo le de click y me abra el archivo.
Pdta: si es posible que al guardar la ruta me guarde solo el nombre de la carpeta y el nombre del archivo (Digitalizados\archivo.pdf)

1 Respuesta

Respuesta
2
Si los campos son independientes la dirección no se te guardará en la tabla. Por ello, cuando vuelvas a consultar ese registro el hipervínculo no existirá. En definitiva, que cuando quieras guardar algo necesitas tener un campo en una tabla donde se pueda guardar esa información.
Teniendo en cuenta lo que te acabo de comentar yo no crearía un hipervínculo, sino un campo de texto. Si tienes todos los pdf's en la misma carpeta se podría hacer lo que comentas, pero si los tienes en diferentes sitios no hay más remedio que guardar toda la ruta completa.
Imaginemos que tienes un campo en una tabla que te recoge esa ruta, que yo llamaré [miArchivo]. E imaginemos que tienes un botón en el formulario que te permitirá navegar por tu PC para seleccionar el archivo. Lo que debes hacer es lo siguiente:
1.- Abres el editor de VB y registras la biblioteca "Microsoft Office 12.0 Object Library"
2.- Insertas un módulo estándar, y en él insertas la siguiente función:
...
Public Function CarpetaArchivo() As String
   Dim fDialog As Office.FileDialog
   'Set up the File Dialog.
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
   With fDialog
      .AllowMultiSelect = False
      .ButtonName = "Seleccionar"
      .Title = "Seleccionar el archivo o la carpeta"
      .InitialFileName = "C:\"
      .InitialView = msoFileDialogViewDetails
      .Filters.Clear
      .Filters.Add "Ficheros Pdf", "*.pdf"
      .Filters.Add "All Files", "*.*"
      If .Show = True Then
         CarpetaArchivo = .SelectedItems(1)
      Else
         MsgBox "Ha pulsado el botón <Cancelar>."
      End If
   End With
End Function
...
3.- En el botón para buscar el archivo le generas el siguiente código en el evento "Al hacer click":
...
Private Sub ...
    Me.miArchivo.Value = CarpetaArchivo()
End Sub
...
4.- En el campo [miArchivo], en el evento "Al hacer click", le generas el siguiente código:
...
Private Sub miArchivo_Click()
    Dim vArch As String
    vArch = Me.miArchivo.Value
    Application.FollowHyperlink (vArch)
End Sub
...
Y eso es todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas