Duda con DBFs

Post Reply
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Duda con DBFs

Post by Armando »

Saludos al foro:

Amigos, tengo una aplicación hecha con DBFs la que no he tocado en años desde que me mude a tablas MySql,
ahora necesito hacerle unos cambios y la duda que tengo es la siguiente:

En el siguiente trozo de código abro la DBF cCamiones y hago un DO WHILE, por cada registro
de la DBF cCamiones hago un filtro a la DBF cDetBdv, hasta haí todo bien, ahora la pregunta:

Cómo puedo saber si el registro de la DBF cCamiones no tiene registros en la DBF cDetBdv?

Code: Select all | Expand

	DO WHILE ! (cCamiones)->(EOF())

         (cDetBdv)->(DBSETFILTER({||(cDetBdv)->DET_NUM == (cCamiones)->TRN_NUM},;
                                    "(cDetBdv)->BIT_NUM == (cCamiones)->TRN_NUM"))
Muchas gracias por la orientación.

Un abrazo
SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Duda con DBFs

Post by Armando »

Amigos:

Lo he resuelto validando que el campo (cDetBdv)->DET_NUM tenga valor mayor a 0

No sé si sea la mejor forma o hay otra

Saludos
SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
LuchoMontero
Posts: 14
Joined: Mon Jul 16, 2012 10:31 am
Location: Lima, Perú
Contact:

Re: Duda con DBFs

Post by LuchoMontero »

Hola Armando:
Buenas noches.
Utilizar DBSETFILTER es como hacer un index, pero a diferencia de los índices que se graban en el disco duro, el DBSETFILTER lo crea en la ram y si la tabla es grande, la aplicación se pone lenta.
Una mejor forma sería:

Code: Select all | Expand

(cCamiones)->(DBGOTOP())
WHILE !(cCamiones)->(EOF())
    IF (cDetBdv)->(DBSEEK((cCamiones)->TRN_NUM))
      Alert('Si existe en tabla detalle')
    ELSE
       Alert('No existe en tabla detalle')
    ENDIF
    (cCamiones)->(DBSKIP())
ENDDO

Lucho Montero - Lima - Perú.

User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Duda con DBFs

Post by Armando »

Lucho:

Muchas gracias.

Saludos

SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Post Reply