Access - ¿Cómo reducir la ruta de un hipervínculo?

Tengo un campo hipervínculo donde hay un botón que te dirige a una ubicación de la misma base de datos. Allí escoges una carpeta dónde está la documentación de la factura correspondiente, la pregunta es si se puede simplificar la ruta y que solo me muestre el número de factura. A continuación os muestro el código que he utilizado para ver si me podéis ayudar, gracias!

Public Function buscaArchivo() As String

Dim fDialog As Office.FileDialog

Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)

With fDialog

.AllowMultiSelect = False

.ButtonName = "Seleccionar"

.Title = "Seleccionar el archivo"

.InitialFileName = Application.CurrentProject.Path & "\Autorizacion\"

.InitialView = msoFileDialogViewDetails

.Filters.Clear

If .Show = True Then

buscaArchivo = .SelectedItems(1)

Else

MsgBox "Agregar la documentación”

End If

End With

End Function

1 Respuesta

Respuesta
2

Fácil:

Imagino que en tu botón tendrás algo como esto:

Me.Factura=buscaArchivo

pues tan solo tienes que cambiarlo por esto otro:

Dim miArchivo As String
miArchivo = BuscaArchivo
Me.txtTest = Right(miArchivo, Len(miArchivo) - InStrRev(miArchivo, "\"))

Y listo, te colocará en el cuadro de texto tan solo el nombre y extensión del archivo. Y cuando necesites mostrarlo, con encadenarle al principio la ruta "fija", solucionado. Por ejemplo:

Application.FollowHyperlink Application.CurrentProject.Path & "\Autorizacion\" & Me.Factura

Un saludo.


¡Gracias! Ahora lo pruebo!!!!

En este caso se trata del nombre de una carpeta, no sé si varia el código porque tal y como está me da error!

Para concretar mejor el error, decir que me lo dan en la siguiente línea. 

Me.txtTest = Right(miArchivo, Len(miArchivo) - InStrRev(miArchivo, "\"))

He sustituido el Me.txtTest por Me.Archivo (el campo donde se situa toda la ruta) pero aunque ya no me da error, sigue mostrándome toda la ruta.

Recordar que lo que tiene que mostrar es solo el nombre de la carpeta no de los archivos.

No sé que es lo que estás haciendo exactamente, pero algo no haces bien, porque lo que te digo funciona perfectamente. Puedes comprobarlo aquí: http://filebig.net/files/ESr7indufJ 

¡Gracias! Suerte de tu ayuda, la verdad, porque no tengo mucha idea de VBA y todo lo que estoy haciendo es gracias a todos vuestros comentarios!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas