• Jueves 28 de Marzo de 2024, 15:11

Autor Tema:  Ciondicional Doble  (Leído 2615 veces)

mikael

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Ciondicional Doble
« en: Domingo 27 de Enero de 2008, 22:32 »
0
: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

jTorkyt

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Ciondicional Doble
« Respuesta #1 en: Domingo 10 de Febrero de 2008, 06:37 »
0
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

josep_lluis

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ciondicional Doble
« Respuesta #2 en: Domingo 29 de Marzo de 2009, 21:47 »
0
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