Para Daniel Perchi - Consultas
Publicado: Mié Feb 19, 2014 10:51 am
Saludos:
Yo las consultas dentro de una base con muchos registros las hago
usando una secuencia que básicamente es:
Posicionarse en el primer registro que cumpla la condición buscada.
Recorrer todos los registros siguientes que cumplan esa condición.
Ejemplo:
** Seleccionamos el Indice
:OrdSetFocus("FEDERACION")
* Posicionamos el registro
IF :Seek(DTOS(dFecha ) + LTRIM(cLugar) + LTRIM(cFed ) )
DO WHILE !:EoF() .AND. ;
(DTOC(:FieldGetByName("FECHA_S")) == DTOC(dFecha ) .AND. ;
LTRIM(:FieldGetByName("L_SUELTA")) == LTRIM(cLugar) .AND. ;
LTRIM(:FieldGetByName("N_FED")) == LTRIM(cFed ) )
*
IF LTRIM(:FieldGetByName("NUM_CLUB")) == LTRIM(cClub )
** Si no está marcado para borrar
IF !:Deleted()
*
::GrabaIndiv( oDS )
*
** Actualizar contador de registros
nContador1 := VAL(::oEditRegistros:Value)
nContador1++
::oEditRegistros:Value := TRANSFORM(nContador1,
"@E 99999")
ProcessMessages()
*
ENDIF
*
ENDIF
*
:Skip()
*
END DO
*
ENDIF
Esto se ejecuta de forma rápida.
--
José R.Castro
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com
Yo las consultas dentro de una base con muchos registros las hago
usando una secuencia que básicamente es:
Posicionarse en el primer registro que cumpla la condición buscada.
Recorrer todos los registros siguientes que cumplan esa condición.
Ejemplo:
** Seleccionamos el Indice
:OrdSetFocus("FEDERACION")
* Posicionamos el registro
IF :Seek(DTOS(dFecha ) + LTRIM(cLugar) + LTRIM(cFed ) )
DO WHILE !:EoF() .AND. ;
(DTOC(:FieldGetByName("FECHA_S")) == DTOC(dFecha ) .AND. ;
LTRIM(:FieldGetByName("L_SUELTA")) == LTRIM(cLugar) .AND. ;
LTRIM(:FieldGetByName("N_FED")) == LTRIM(cFed ) )
*
IF LTRIM(:FieldGetByName("NUM_CLUB")) == LTRIM(cClub )
** Si no está marcado para borrar
IF !:Deleted()
*
::GrabaIndiv( oDS )
*
** Actualizar contador de registros
nContador1 := VAL(::oEditRegistros:Value)
nContador1++
::oEditRegistros:Value := TRANSFORM(nContador1,
"@E 99999")
ProcessMessages()
*
ENDIF
*
ENDIF
*
:Skip()
*
END DO
*
ENDIF
Esto se ejecuta de forma rápida.
--
José R.Castro
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com