Access - importar un contenido txt a un campo

 
Vista:
Imágen de perfil de jalfien
Val: 23
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

importar un contenido txt a un campo

Publicado por jalfien (5 intervenciones) el 01/02/2019 21:48:50
buen dia amigos, estoy haciendo una mi base de datos y he tenido complicaciones al tratar de importar el contenido de un archivo txt dentro de un campo en una tabla y campo q ya tengo creada, me explico, tengo un archivo extension txt y quiero q todo su contenido se grabe dentro de un campo. el contenido del txt es este:

CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL CIENTO CINCUENTA Y CUATRO [17-06-04-01154] Con una superficie de Trescientos Cuarenta y Cinco PUNTO Veintiun METROS CUADRADOS (345.21 MTS².) con las siguientes medidas y colindancias: de la estación CERO (0) al punto observado UNO (1), con un Azimut de CIENTO OCHENTA Y DOS GRADOS CINCUENTA Y NUEVE MINUTOS TREINTA Y CINCO PUNTO Seis SEGUNDOS (182°59'35.06") con una distancia de DIECIOCHO METROS CON SEIS CENTRIMETROS (18.06 MTS.), colindando con EL PREDIO IDENTIFICADO CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL DOSCIENTOS CUARENTA Y SEIS (17-06-04-01246);

pudiendo ser mas grande, y todo esto lo necesito grabar dentro de un campo, todo esto automatico, al abrir el informe y haciendo click en el campo q tendra q grabar esta informacion, por supuesto me agradaria que me preguntara tipo explorador de window la ubicacion del archivo txt, ya q es cada vez sera diferente archivo ppor el control de cada cliente.... de antemano gracias por su ayuda .....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

importar un contenido txt a un campo

Publicado por Norberto (753 intervenciones) el 04/02/2019 15:50:19
Hola:

Lo primero que tienes que hacer es agregar la referencia a la librería Microsoft Office XX.X Object Libary (Menú Herramientas->Referencias del editor de VBA).

Luego en el cuadro de texto del campo correspondiente pones el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Texto_Click()
    Dim MyDialog As FileDialog
 
    If IsNull(Me.Texto) Then
        Set MyDialog = FileDialog(msoFileDialogOpen) 'Abrir archivo
        With MyDialog
            .Filters.Clear  'Borramos los filtros
            .Filters.Add "Archivos de texto", "*.txt" 'Añadimos el filtro para los archivos txt
            .Filters.Add "Todos los archivos", "*.*" 'Añadimos el filtro para los todos los archivos
            .InitialFileName = "la ruta donde se encuentran los archivos"
            .AllowMultiSelect = False 'Evitamos que se puedan hacer selecciones múltiples
            If .Show Then 'Muestra el cuadro de diálogo y devuelve True si no se pulsa Cancelar
                CargarArchivo .SelectedItems(1) 'Llamamos al procedimiento que nos carga el archivo
            End If
        End With
    End If
 
    Set MyDialog = Nothing
End Sub
 
Private Sub CargarArchivo(Archivo As String)
    Dim nArch As Integer, Longitud As Integer
 
    nArch = FreeFile 'Primer canal libre
    Open Archivo For Input As nArch 'Abrimos el archivo
    Longitud = FileLen(Archivo) 'Leemos el tamaño del archivo
    Me.Texto = Input(Longitud, nArch) 'Cargamos todo el archivo en el campo
    Close nArch 'Cerramos el archivo
End Sub

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jalfien
Val: 23
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

importar un contenido txt a un campo

Publicado por jalfien (5 intervenciones) el 05/02/2019 16:21:30
gracias norberto,

Private Sub Texto_Click()
Dim MyDialog As FileDialog

If IsNull(Me.Texto) Then

antes q nada no soy programador pero si me gusta la computacion y entiendo un poquito de los codigos, en este codigo q me enviaste el (Texto_Click()), es el nombre del campo donde quiero q grabe el archivo de texto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jalfien
Val: 23
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

importar un contenido txt a un campo

Publicado por jalfien (5 intervenciones) el 05/02/2019 21:33:27
GRACIAS DE NUEVO, despues de estar viendo en otros foros y leer un poco mas, me di cuenta que tu codigo es cuando el objeto es un cuadro de texto y funciona a la perfeccion... muchas gracias, ahora si eso lo quiero guardar en un registro en especifico ademas que este contiene tildes, como lo hago, muchas gracias por tu ayuda....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

importar un contenido txt a un campo

Publicado por Norberto (753 intervenciones) el 06/02/2019 08:42:34
Hola.

Para almacenar el texto en un registro concreto debes de situarte en él previamente. No entiendo qué problema tienes con las tildes.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jalfien
Val: 23
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

importar un contenido txt a un campo

Publicado por jalfien (5 intervenciones) el 06/02/2019 21:37:56
grcias nuevamente norberto, y disculpa si te he importunado pero aun no entiendo esto de los codigos y la programacion, este es el texto original que quiero insertar dentro del cuadro de texto o mejor aun dentro de un registro:
CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL CIENTO CINCUENTA Y CUATRO [17-06-04-01154] Con una superficie de Trescientos Cuarenta y Cinco PUNTO Veintiun METROS CUADRADOS (345.21 MTS².) con las siguientes medidas y colindancias: de la estación CERO (0) al punto observado UNO (1), con un Azimut de CIENTO OCHENTA Y DOS GRADOS CINCUENTA Y NUEVE MINUTOS TREINTA Y CINCO PUNTO Seis SEGUNDOS (182°59'35.06") con una distancia de DIECIOCHO METROS CON SEIS CENTRIMETROS (18.06 MTS.), colindando con EL PREDIO IDENTIFICADO CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL DOSCIENTOS CUARENTA Y SEIS (17-06-04-01246);de la estación UNO (1) al punto observado DOS (2), con un Azimut de DOSCIENTOS SETENTA Y CINCO GRADOS TREINTA Y SEIS MINUTOS CUARENTA PUNTO Cincuenta y Tres SEGUNDOS (275°36'40.53") con una distancia de DIECINUEVE METROS CON SETENTA Y UN CENTRIMETROS (19.71 MTS.), colindando con 2a. Calle Zona 2;de la estación DOS (2) al punto observado TRES (3), con un Azimut de UN GRADOS CINCUENTA Y DOS MINUTOS VEINTIUN PUNTO Cuarenta y Ocho SEGUNDOS (1°52'21.48") con una distancia de DIECISÉIS METROS CON SETENTA Y DOS CENTRIMETROS (16.72 MTS.), colindando con EL PREDIO IDENTIFICADO CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL CUATROCIENTOS QUINCE (17-06-04-01415);de la estación TRES (3) al punto observado CERO (0), con un Azimut de NOVENTA Y UN GRADOS CUARENTA Y CUATRO MINUTOS VEINTISIETE PUNTO Noventa y Nueve SEGUNDOS (91°44'27.99") con una distancia de VEINTE METROS CON DOS CENTRIMETROS (20.02 MTS.), colindando con EL PREDIO IDENTIFICADO CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL CIENTO CINCUENTA Y CUATRO (17-06-04-01154);

esto es lo que aparece luego de realizar lel ingreso en el cuadro de texto en access:
CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL CIENTO CINCUENTA Y CUATRO [17-06-04-01154] Con una superficie de Trescientos Cuarenta y Cinco PUNTO Veintiun METROS CUADRADOS (345.21 MTS².) con las siguientes medidas y colindancias: de la estación CERO (0) al punto observado UNO (1), con un Azimut de CIENTO OCHENTA Y DOS GRADOS CINCUENTA Y NUEVE MINUTOS TREINTA Y CINCO PUNTO Seis SEGUNDOS (182°59'35.06") con una distancia de DIECIOCHO METROS CON SEIS CENTRIMETROS (18.06 MTS.), colindando con EL PREDIO IDENTIFICADO CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL DOSCIENTOS CUARENTA Y SEIS (17-06-04-01246);de la estación UNO (1) al punto observado DOS (2), con un Azimut de DOSCIENTOS SETENTA Y CINCO GRADOS TREINTA Y SEIS MINUTOS CUARENTA PUNTO Cincuenta y Tres SEGUNDOS (275°36'40.53") con una distancia de DIECINUEVE METROS CON SETENTA Y UN CENTRIMETROS (19.71 MTS.), colindando con 2a. Calle Zona 2;de la estación DOS (2) al punto observado TRES (3), con un Azimut de UN GRADOS CINCUENTA Y DOS MINUTOS VEINTIUN PUNTO Cuarenta y Ocho SEGUNDOS (1°52'21.48") con una distancia de DIECISÉIS METROS CON SETENTA Y DOS CENTRIMETROS (16.72 MTS.), colindando con EL PREDIO IDENTIFICADO CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL CUATROCIENTOS QUINCE (17-06-04-01415);de la estación TRES (3) al punto observado CERO (0), con un Azimut de NOVENTA Y UN GRADOS CUARENTA Y CUATRO MINUTOS VEINTISIETE PUNTO Noventa y Nueve SEGUNDOS (91°44'27.99") con una distancia de VEINTE METROS CON DOS CENTRIMETROS (20.02 MTS.), colindando con EL PREDIO IDENTIFICADO CON EL CÓDIGO DE CLASIFICACIÓN CATASTRAL DIECISIETE GUION CERO SEIS GUION CERO CUATRO GUION CERO UN MIL CIENTO CINCUENTA Y CUATRO (17-06-04-01154);

si te das cuenta todos los caracteres especiales como tildes y simbolos estan en codigos diferentes.... disculpa la pregunta, talvez no tengo configurado algo ...... este es mi correo [email protected] si me pdieras brindar el tuyo te escribo directo y asi es mas rapida la comunicacion, muchas gracias....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar