Camilo: Si no interpreto mal Tu pregunta quieres poder elegir un Fichero.
En Un Formulario pones un Botón: BtnEligeFichero
Un TextBox: Fichero
Pones:
Private Sub BtnSeleccionaArchivo_Click()
Me.Fichero = EligeFichero
End Sub
Y la Función , que puede estar en el Modulo del Formulario o en un Modulo Standar
Public Function EligeFichero(Optional RutaPorDefecto As String, Optional TipoArchivo As String) As String
Dim FD As Object 'Office.FileDialog
Const msoFileDialogFilePicker = 3
On Error GoTo EligeFichero_TratamientoErrores
Set FD = Application.FileDialog(msoFileDialogFilePicker)
If Nz(RutaPorDefecto, "") = "" Then RutaPorDefecto = CurrentProject.Path
With FD
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Todos los Archivos", "*.*", 1
If Nz(TipoArchivo, "") = "" Then
.FilterIndex = 1
Else
.Filters.Add "Ficheros de Texto", "*.txt; , 2"
.FilterIndex = 2
End If
If .Show Then
EligeFichero = .SelectedItems(1)
End If
End With
EligeFichero_Salir:
Set FD = Nothing
On Error GoTo 0
Exit Function
EligeFichero_TratamientoErrores:
MsgBox "Error " & Err & " en Funcion.: EligeFichero de Módulo: MdlEligeArchivo (" & Err.Description & ")", vbCritical + vbOKOnly, "ATENCION"
Resume EligeFichero_Salir
End Function ' EligeFichero
Verás que te pone la Ruta Completa en el TextBox.
A partir de ahí puedes utilizar la Variable EligeFichero donde quieras.
Supongo que la Vinculación la tienes con el Método:
DoCmd. TransferText
Ya me contarás si ésto te ayuda: Jacinto