SoloCodigo

Programación General => Clipper => Mensaje iniciado por: mikael en Domingo 27 de Enero de 2008, 22:32

Título: Ciondicional Doble
Publicado por: mikael en Domingo 27 de Enero de 2008, 22:32
:lightsabre:

Saludos, soy nuevo en el foro y neofito en clipper.
tengo una rutina que condiciona una busqueba  a un campo inicial y a otro de verificacion y no me opera.
Ej:
use datos index to datox
  seek num
  if found()
do while x=num .and. campo=z
enddo
endif
use
Título: Re: Ciondicional Doble
Publicado por: jTorkyt en Domingo 10 de Febrero de 2008, 06:37
Your code:

use datos index to datox
seek num
if found()
do while x=num .and. campo=z
enddo
endif
use

Try this way:

use datos
index on datox tag datox

seek datos->num
if datos->(found())
 z := valor_clave_secundaria
 do while ((x == datos->num) .and. (daos->campo = z))
  do your job
 enddo
endif

use
Título: Re: Ciondicional Doble
Publicado por: josep_lluis en Domingo 29 de Marzo de 2009, 21:47
Hola , creo que el problema es que una vez encuentra el registro , se queda en bucle continuo while - enddo porque le falta el  comando skip que mueve hacia adelante un registro....

use datos index to datox
seek num
if found()
do while x=num .and. campo=z
 skip    * <---- Este comando mueve hacia adelante u registro
enddo
endif
usemikael
Nuevo miembro
 
Mensajes: 1
Registrado: Dom Ene 27, 2008 5:18 am