Access - ¿Como detecto el EOF de una tabla

 
Vista:

¿Como detecto el EOF de una tabla

Publicado por CLAUDIO.AR (47 intervenciones) el 10/05/2005 17:26:31
Si quiero hacer un bucle por ejemplo while not eof(), o sea recorrer una tabla registro por registro, ¿Como se cuando llego al final?. Debe ser de lo mas común pero no lo encuentro en VBA para access.
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

RE:¿Como detecto el EOF de una tabla

Publicado por Manuel (268 intervenciones) el 10/05/2005 19:04:57
Esto dependera de como estes recorriendo los registro, se creas un recordset puedes utilizar:

nombredelrecordset.eof

Amplia un poco tu pregunta.

Saludos
Manuel
Venezuela
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

Amplío EOF

Publicado por CLAUDIO.AR (47 intervenciones) el 10/05/2005 19:28:00
Recorro la tabla "Clientes" para sacar de a una, TODAS las direcciones de email de los clientes hasta que encuentre el fin de la tabla. La estructura es + o - así.
DoCmd.GoToRecord , , acFirst
while (no es el fin de la tabla o el ultimo registro)
cargo una variable con el valor del campo email
DoCmd.GoToRecord , , acNext
wend

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

RE:Amplío EOF

Publicado por Manuel (268 intervenciones) el 10/05/2005 20:03:05
Utiliza mejor un recordset, en la ayuda de access puedes ver como funciona, y en esta web a varias respuestas sobre eso.

Pero de la forma en que lo estas haciendo no conozco la manera de aplicar el eof.

Saludos
Manuel
Venezuela
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

RE:Amplío EOF

Publicado por Juanjo (238 intervenciones) el 10/05/2005 20:29:03
No creo que exista la forma de detectar un EOF como se podría hacer con un recordset. Lo único que se me ocurre es, suponiendo que tengas algún campo autonumérico, que antes de comenzar el while detectes cuál fué el último número autonumérico que ingresaste y luego en el while verificar si ya llegaste a ese valor. Por ejemplo:

ultimo=DLast([Campo_Autonumérico],"Tu_tabla")

while ultimo >= [Campo_Autonumérico]
bla bla bla
wend

No es la mejor solución. Lo mejor es lo que te dice Manuel. Pero si no lográs hacerlo usando recordsets podés probra de esta manera.

Saludos desde Argentina
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

Pruebo y les cuento ...

Publicado por CLAUDIO.AR (47 intervenciones) el 10/05/2005 20:37:02
Supongo que mi método viene de herencia de algún otro viejo lenguaje y ni siquiera se como funciona el recordset, pero ya me pongo a estudiarlo a ver que saco.
GRACIAS TOTALES
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

RE:¿Como detecto el EOF de una tabla

Publicado por Manuel (268 intervenciones) el 11/05/2005 00:10:31
Ya no es primera vez, que 2pl tiene este tipo de arranques, que en verdad hacen incomodo la participacion en el foro, ya en otras oportunidades a tenido este tipo de trato con el resto de la concurrencia, no entiendo el porque, si le gusta tanto criticar, no se toma el tiempo debido para al menos leer las respuesta y preguntas y poder emitir sus opiniones sobre ellas.

En lo personal cuando respondo alguna duda que ya ha sido respondido por un tercero, trato de no hacer comentarios algunos, al menos que sea para reafirmar y dar un punto de vista adicional sobre esto.

Debemos dejar de atacarnos en el foro, ya que como bien lo ha dicho Juanjo, todos tomamos tiempo personal para esto, al menos en mi caso, ocupo tiempo libre de oficina para participar y si bien me satisface muchisimo los agradecimientos de las pocas personas que he tenido la oportunidad de ayudar, me molesto cuando veo la reinsidencia de este tipo de comentarios, mas aun cuando en ningun momento he tratado despectivamente a ningun participante de este foro.

No me gusta hacer este tipo de cadenas, pero es la segunda vez en esta semana que obtengo este tipo de respuestas, habiendo en ambos casos dado respuestas que considero validas.

de nuevo saludos a todos
Manuel
Venezuela.

pd. Y gracias a Juanjo que cortesmente a pasado a ser un moderador del foro
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

RE:¿Como detecto el EOF de una tabla

Publicado por 2pl (773 intervenciones) el 10/05/2005 23:06:06
Esta es la forma de recorrerse un recordset
Do While Not PRESENCIA.EOF
...
...
...
...

PRESENCIA.MoveNext
loop

Por favor abtenerse de contestar a las cuestiones cuando no se sabe.
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

RE:¿Como detecto el EOF de una tabla

Publicado por Juanjo (238 intervenciones) el 10/05/2005 23:26:27
2pl: Me parece que debés tomarte más tiempo para leer los posts. Se le aclaró a Claudio que la mejor manera de recorrer la tabla era usando un recordset (cosa que Claudio dijo no saber cómo hacer). Me limité a darle una solución sui generis por si no lograba hacerlo con un recordset. Reconozco que mi método no es el más ortodoxo, pero es ingenioso y aunque con limitaciones, funciona. La programación no se limita a conocer las funciones y procedimientos adecuados sino que se trata también de aguzar el ingenio ante los inconvenientes que se nos plantean. Claudio entendió perfectamente que se trataba de una solución que no es la ideal.
Por otro lado podrías ser más explícito y aclarar qué es PRESENCIA porque para el que no sabe se le hace muy difícil entender las respuestas.
Saludos
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

RE:¿Como detecto el EOF de una tabla

Publicado por 2pl (773 intervenciones) el 11/05/2005 15:28:20
Es de sentido comun que PRESENCIA es el nombre del recordset.
Me parece muy bien agudizar el ingenio... tambien podriamos inventar la rueda otra vez, que mas da que ya este inventada... pues eso mismo con access.
AL buen entendedor pocas palabras bastan y fin.
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