Código para anexar un txt a una tabla al abrir el cuadro de dialogo en access

Me pueden apoyar con saber que código me puede facilitar anexar un txt. A una tabla existente por medio del cuadro de dialogo, he tenido éxito para programar la apertura del cuadro de dialogo pero no para anexar el txt. Anexo la imagen

2 respuestas

Respuesta
2

Por la imagen da la impresión de que ya tienes "activada" la casilla de Microsoft Office XX. X Object Library y que ya tienes trabajando una función que localice el archivo. En la imagen tengo puesto que "localice el archivo en el evento Al recibir el enfoque del cuadro de texto Archivo y la función se llama Buscaarchivo

En ese mismo evento le tengo puesto

Private Sub Archivo_GotFocus()
Archivo = buscaArchivo()
Archivo = Mid([Archivo], InStrRev([Archivo], "\") + 1)
End Sub

Con lo el formulario me queda

Ya tengo "anexado" el archivo a ese registro de la tabla Clientes

Que tal buen dia , agradezco tu apoyo pero no se que tratar de decir con ese codigo. te comparto el que tengo hecho .

Dim f As Office.FileDialog
Dim ruta As String
On Error Resume Next
Set f = Application.FileDialog(msoFileDialogFilePicker)
With f
.AllowMultiSelect = False
.Title = "Selecciona ruta"
.InitialFileName = Application.CurrentProject.Path
.Filters.Clear
.Filters.Add " All Files", "*.txt"
If .Show = True Then
For Each vtrselecteditem In .SelectedItems
ruta = vtrselecteditem
Next
End If
If f = 1 Then
DoCmd.TransferText acImportDelim, "V2", "C:\Users\rodrigo.luna\Documents\Iv\V2.txt", "V1"
End If
End With
End Sub

Creía que querías guardar, digamos, la ruta de un archivo en un campo de un registro de una tabla, y poder verlo cuando quisiera, y para no guardar, por ejemplo

C:\users\....\documentos\expedientes\loquesea.txt

"cortaba" la cadena y sólo guardaba el nombre del archivo.

Que luego querías verlo, con usar Application. Followhyperlink resuelto.

Pero lo que haces es "traerte" el contenido del documento txt a la tabla. En ese caso no digo nada

Respuesta

Prueba esto:

Dim f As Office.FileDialog
Dim ruta As String
Set f = Application.FileDialog(msoFileDialogFilePicker)
With f
.AllowMultiSelect = False
.Title = "Selecciona ruta"
.InitialFileName = Application.CurrentProject.Path
.Filters.Clear
.Filters.Add " All Files", "*.txt"
If .Show = True Then ruta=.SelectedItems(1)
End With
If Nz(ruta,"")<>"" Then
DoCmd.TransferText acImportDelim,, "NombreTabla", ruta, True
End If

A tener en cuenta en la linea del TransferText:

1º/ Debes cambiar "NombreTabla" por el nombre de tu tabla de destino.

2º/ Si tu archivo txt no tiene nombres de campos , debes cambiar el True por False

3º/ Si ves que no te importa correctamente, mi consejo es que hagas una importación "manual", siguiendo el asistente de la cinta de opciones, y en uno de los últimos pasos, cuando ya has configurado cómo se debe importar el txt, guardes esos pasos como especificación y la uses en el TransferText (mira este enlace: https://microsoft.public.es.access.narkive.com/sBXYYnMU/importar-archivos-de-texto-sin-nombre-de-columna). Por ejemplo si la guardas como "miImportacion" sería:

   DoCmd.TransferText acImportDelim,"miImportacion" ,"NombreTabla", ruta, True

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas