
Informe Divisas
Publicado por Amado Garcia (68 intervenciones) el 05/09/2008 17:25:31
Hola.. a todos... buenos dias... saben trato de realizar un informe de compra-venta de divisas, en el form, en un Boton "Iniciar" tengo el sig. codigo...
local nCant
nCant=0
Thisform.VarMemo() && Metodo las variables..usadas en el Bucle DoWhile
SELECT divisas && Tabla de Divisas
tpcambio=compra
SELECT virtual && Tabla Compra-Venta Ejercicio Diario
SET FILTER TO && Libera lo filtrado
GO top
COUNT TO nCant
IF nCant = 0 && Comprueba si la tabla esta vacia...
titulo='INEXISTENCIA'
Mensaje='La Tabla de Datos se encuentra vacia..'
boton=0+64
MESSAGEBOX(mensaje,boton,titulo)
Thisform.Release
ENDIF
SET FILTER TO tipo="P" && Filtrar la Povision Inicial
GO Top
prvdolar=edolar && Asigna a variables Provision Dolares
prvpeso=epesos && Asigna a variables Provision Pesos
SET FILTER TO
SET FILTER TO tipo<>"P" && Filtra lo que no sea Provision..
GO top
DO WHILE ! EOF() &Inicia El bucle
ingpeso=epesos+ep && Las Variables ingpeso,egrpeso,ingdolar,egrdolar
egrpeso=spesos+sp && ep,sp,ed,sd ya estan definidas en un Method "VarMemo"
ingdolar=edolar+ed
egrdolar=sdolar+sd
skip && AQUI ES EL PROBLEMA CUANDO ESTA VACIA SE SALE EL SISTEMA
IF EOF()
EXIT
ELSE
ep=ingpeso
sp=egrpeso
ed=ingdolar
sd=egrdolar
ENDIF
tdolar=egrdolar
PromComp=EgrPeso/ingDolar
PromVta=IngPeso/EgrDolar
PromProv=Prvpeso/prvdolar
ndiferencia=promvta-Promcomp
nutilidad=ndiferencia*tdolar
Thisform.Refresh
ENDDO
Thisform.Refresh & Refresa el Form ara ver los datos... al mismo tiempo;
Thisform.Command3.Click(). && Llama a este Boton para imprimir e Incorporar
&& Movimientos a Tabla maestra y borrar Cont Virtual
Lo que pasa es que esto realiza bien cuando existe el SKIP en el Bucle pero se lo quito y al usar esto cuando la tabla "virtual" esta vacia... se sale el sistema...
Espero me ayuden muchas gracias...
local nCant
nCant=0
Thisform.VarMemo() && Metodo las variables..usadas en el Bucle DoWhile
SELECT divisas && Tabla de Divisas
tpcambio=compra
SELECT virtual && Tabla Compra-Venta Ejercicio Diario
SET FILTER TO && Libera lo filtrado
GO top
COUNT TO nCant
IF nCant = 0 && Comprueba si la tabla esta vacia...
titulo='INEXISTENCIA'
Mensaje='La Tabla de Datos se encuentra vacia..'
boton=0+64
MESSAGEBOX(mensaje,boton,titulo)
Thisform.Release
ENDIF
SET FILTER TO tipo="P" && Filtrar la Povision Inicial
GO Top
prvdolar=edolar && Asigna a variables Provision Dolares
prvpeso=epesos && Asigna a variables Provision Pesos
SET FILTER TO
SET FILTER TO tipo<>"P" && Filtra lo que no sea Provision..
GO top
DO WHILE ! EOF() &Inicia El bucle
ingpeso=epesos+ep && Las Variables ingpeso,egrpeso,ingdolar,egrdolar
egrpeso=spesos+sp && ep,sp,ed,sd ya estan definidas en un Method "VarMemo"
ingdolar=edolar+ed
egrdolar=sdolar+sd
skip && AQUI ES EL PROBLEMA CUANDO ESTA VACIA SE SALE EL SISTEMA
IF EOF()
EXIT
ELSE
ep=ingpeso
sp=egrpeso
ed=ingdolar
sd=egrdolar
ENDIF
tdolar=egrdolar
PromComp=EgrPeso/ingDolar
PromVta=IngPeso/EgrDolar
PromProv=Prvpeso/prvdolar
ndiferencia=promvta-Promcomp
nutilidad=ndiferencia*tdolar
Thisform.Refresh
ENDDO
Thisform.Refresh & Refresa el Form ara ver los datos... al mismo tiempo;
Thisform.Command3.Click(). && Llama a este Boton para imprimir e Incorporar
&& Movimientos a Tabla maestra y borrar Cont Virtual
Lo que pasa es que esto realiza bien cuando existe el SKIP en el Bucle pero se lo quito y al usar esto cuando la tabla "virtual" esta vacia... se sale el sistema...
Espero me ayuden muchas gracias...
Valora esta pregunta


0