Disculpa que no te había entendido...
Pero hay un problema los hipervínculos que maneja ACCESS (campos) DEBES COLOCARLE TODA LA RUTA... si quieres modificar el titulo, debes luego coger uno a uno y decir modificar el hipervínculo.. que seria un gran problema... ahora seria tratarlo NO COMO UN HIPERVÍNCULO... sino como una caja de texto normal... y crear código que al hacer click, ABRA EL ARCHIVO CON SU RESPECTIVO PROGRAMA... pero loigicamente debes colocarle la extensión...
Ahora para abrir el archivo utiliza esto (código por api)
Ejemplo:
Esta parte la colocas en el evento al hacer click, en la caja de texto:
**********************
Dim Resultado As Variant
' intentamos abrir el archivo
Resultado = OpenFile("C:\MiArchivo.txt")
' si ha habido cualquier problema ...
If Resultado <> True Then
' mostramos el mensaje que nos envía el sistema
MsgBox Resultado
End If
***************************
Pega este código en un módulo estandar:
'---------------------------------------------------------
'
' OpenFile
'
' Código escrito originalmente por Juan M. Afán de Ribera
'
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web,
' por favor, contactar con el autor en
'
'
[email protected]'
' Este código se brinda por cortesía de
' Juan M. Afán de Ribera
'
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Declare Function FormatMessage Lib "kernel32" _
Alias "FormatMessageA" _
(ByVal dwFlags As Long, _
lpSource As Any, _
ByVal dwMessageId As Long, _
ByVal dwLanguageId As Long, _
ByVal lpBuffer As String, _
ByVal nSize As Long, _
Arguments As Long) As Long
Private Const SW_NORMAL = 1&
Private Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
' función que abre cualquier archivo ejecutable o documento
' que esté registrado en el sistema con su respectiva aplicación
Public Function OpenFile(FileName As String) As Variant
Dim RetVal As Long
Dim sError As String
Dim LenMsg As Long
' se manda abrir el archivo
RetVal = ShellExecute(0&, "open", FileName, 0&, vbNullString, SW_NORMAL)
' si se ha producido algún error
If RetVal < 33 Then
sError = Space(1024)
' obtenemos el mensaje de error que manda el sistema
LenMsg = FormatMessage( _
FORMAT_MESSAGE_FROM_SYSTEM, _
ByVal 0&, _
RetVal, _
0&, _
sError, _
Len(sError), _
0&)
' devolvemos el mensaje de error
OpenFile = Left(sError, LenMsg - 1)
Else
' la función tuvo éxito
OpenFile = True
End If
End Function
'---------------------------------------------------------
Ojo:donde dice openfile y la ruta puedes concatenar la ruta que necesitas...
Att:telemaco