Access - Cómo avanzar una linea en fichero con -input-

   
Vista:
Imágen de perfil de Toni

Cómo avanzar una linea en fichero con -input-

Publicado por Toni (129 intervenciones) el 19/03/2013 00:10:25
Bueno, estoy bloqueado, lo que debe ser muy fácil resulta que no doy con ello.

Quiero poder avanzar a la línea siguiente de un fichero de texto cuando lo estoy leyendo, sin esperar a que llegue al "Wend"

Supongamos que en la linea 1 tengo el valor de "nombre" y en la segunda linea el valor de "apellido"
Quiero tomar esos dos datos en dos variables para poder agregarlos a una tabla. No se pasar a la segunda linea, algo así como "movenext" pero aplicado al fichero.

Dim Linea as string
Open archivo2 For Input As 1
While Not EOF(1)
Line Input #1, Linea
'en este punto cojo datos del fichero para agregarlos a una tabla.

nnombren = Mid(Linea, 22, 40)

'Ahora necesito pasar a la siguiente linea del fichero para seguir tomando
'datos ya que pertenecen al mismo registro aunque figuren en la segunda linea.

napellido= Mid(Linea, 22,50)

wend

Seguramente es muy facil pero lo siento, estoy bloqueado.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Toni

Cómo avanzar una linea en fichero con -input-

Publicado por Toni (129 intervenciones) el 19/03/2013 00:36:12
Me respondo a mi mismo, a falta de acabar de probarlo creo que la solución es poner otro:

Line Input #1, Linea


Probado y da error cuando llega al final del fichero, se aceptan ideas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto

Cómo avanzar una linea en fichero con -input-

Publicado por Norberto (432 intervenciones) el 19/03/2013 11:13:10
Hola.

Prueba así.

1
2
3
4
5
6
7
8
9
10
...
    Do While Not Eof(1)
        Line Input #1, Linea
        nnombren = Mid(Linea, 22, 40)
        If Not Eof(1) then
            Line Input #1, Linea
            napellido= Mid(Linea, 22,50)
        End If
    Loop
...


(En vez de Do While...Loop puedes usar While...Wend)

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Toni

Cómo avanzar una linea en fichero con -input-

Publicado por Toni (129 intervenciones) el 19/03/2013 20:00:09
Así lo he hecho Norberto, muchas gracias.

No creí que trabajar con ficheros de texto en access fuera tan complicado, no me refiero en la forma de abrirlos, usarlos, etc... que todo es acostumbrarse y tampoco difiere mucho de otros lenguajes, sino en que a veces aparecen caracteres extraños al final del fichero/listado, también dependiendo de en qué ordenador se utilice también hace cosa raras con el fichero (habiendo utilizado "Write" en vez de "Print"), etc... otras veces se mueve alguna línea.... en fin.

Yo acostumbrado a trabajar con clipper y dbase no tenía ningún problema en ese sentido, se hacía un append a una base con un sólo campo y las lineas quedaban totalmente iguales, luego iba depurando cada linea/registro tomando datos y añadiendo a otra base y todo cuadraba, con access lo intenté de esa forma pero me di cuenta que al meterlos en la tabla no todos los datos ocupaban la misma posición, y te aseguro que miré todas las opciones posibles en la importación, por eso al final me decidí por trabajar directamente con el fichero plano aunque esto también me está dando algún quebradero de cabeza como puedes ver.

Bueno no quiero con esto desesperar a nadie, tampoco llevo mucho tiempo en access y supongo que mucha gente experta tendrá este capítulo totalmente controlado, de todas formas estoy consiguiendo lo que quiero con más o menos dificultades.

Saludos y gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar