Visual Basic - EOF + WHILE

Life is soft - evento anual de software empresarial
   
Vista:

EOF + WHILE

Publicado por carla (5 intervenciones) el 31/08/2007 21:29:56
hola... tengo que buscar registros que contenga un valor especifico en una base de datos ado.. y utilizo un while
'While rs3.Fields("zona.nrozona") <> numeroz And (Not rs3.EOF) And Not rs3.BOF
rs3.movenext
wend

pero cuando llega rs3.eof a true no sale del while y me dice esto

either bof or eof is true,or the current record has been deleted.requested operation requires a current record

alguien me pueda ayudar?
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:EOF + WHILE

Publicado por Carlos (125 intervenciones) el 31/08/2007 22:33:28
Bueno se que es lo mismo pero por que no usas el do while

Do While rs3.Fields("zona.nrozona") <> numeroz And Not rs3.EOF
rs3.movenext
Loop

asi mismo
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:EOF + WHILE

Publicado por carla (5 intervenciones) el 31/08/2007 22:48:54
gracias pero ya lo use, y es el mismo resultado
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:EOF + WHILE

Publicado por ivan (1041 intervenciones) el 31/08/2007 22:58:34
Evidente que te diga eso.
¿sabes lo que estás poniendo?
¿Y porqué no te colocas un VB en español y asi los mensajes te saldrán en una lengua que puedas entender?
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:EOF + WHILE

Publicado por carla (5 intervenciones) el 31/08/2007 23:36:39
se lo que estoy poniendo..pelotudo...
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:EOF + WHILE

Publicado por carla (5 intervenciones) el 31/08/2007 23:37:22
se lo que estoy poniendo..pelotudo...si estoy en un foro...es para poder sacar dudas ..no para que un infeliz me diga una pelotudez ironica
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

Es por esto, el error ...

Publicado por Taliban (13 intervenciones) el 01/09/2007 00:28:26
El error sucede porque estás evaluando
"rs3.Fields("zona.nrozona") <> numeroz"
y cuando llega al final de los registros ( EOF() ) ya no hay un campo "zona.nrozona" que evaluar si es igual o diferente que "numeroz".

Cambia tu ciclo por un Do while así (porque While-Wend no tiene Exit Do):

Do While rs3.Fields("zona.nrozona") <> numeroz
rs3.movenext
if rs3.EOF or rs3.BOF then Exit Do
Loop

Según lo que estás comparando, tal vez debas encerrar todo este bloque dentro de una comparación inicial:
If Not rs3.EOF Then
Do While rs3.Fields("zona.nrozona") <> numeroz
rs3.movenext
if rs3.EOF or rs3.BOF then Exit Do
Loop
End If
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