FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Dolphin con tabla temporal (Solucionado)
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Dolphin con tabla temporal (Solucionado)
Posted: Sat May 03, 2014 11:07 PM
Estimados:
Necesito de sus consejos. Tengo una tabla temporal con MySql y Dolphin, la cual creo cuando entro a la funcion de la siguiente manera:
Code (fw): Select all Collapse
oApp:oServer:Execute(   "CREATE TEMPORARY TABLE IF NOT EXISTS `transi_cuota` ("+;
                        "`ticomp` VARCHAR(2) DEFAULT NULL,"+;
                        "`numcomp` VARCHAR(14) DEFAULT NULL,"+;
                        "`cuota` INT(3) DEFAULT NULL,"+;
                        "`fecha` DATE DEFAULT NULL,"+;
                        "`saldo` DECIMAL(10,2) DEFAULT NULL,"+;
                        "`intereses` DECIMAL(10,2) DEFAULT NULL,"+;
                        "`total` DECIMAL(10,2) DEFAULT NULL,"+;
                        "`pagado` DECIMAL(10,2) DEFAULT NULL"+;
                        ") ENGINE=INNODB DEFAULT CHARSET=latin1")

Luego la asigno a una variable tipo consulta con
Code (fw): Select all Collapse
oQryCu1  := oApp:oServer:Query( "SELECT * FROM transi_cuota")

Y la muestro con un xBrowse
Code (fw): Select all Collapse
     REDEFINE XBROWSE oBrw1 DATASOURCE oQryCu1;
              COLUMNS "Ticomp","NumComp","Cuota","Fecha","Saldo","Intereses","Total","Pagado";
              HEADERS "Tipo","N° Fact.","N° de cuota","Fecha Vto.","Saldo", "Intereses","Total","Pagado";
              SIZES 30,100,80,80,80,80,80,80;
              ID 1201 OF oDlg ON DBLCLICK {|| oQryCu1:FielPut(1,"intereses"),oQryCu1:FielPut(10,"total")} // Intento con doble click 
                                                                                                                                                        // poner un valor a las columnas que estan en 0

La lleno con una funcion que lee de otra tabla ya que cada vez que cambia otro browse que tengo activo tengo que vaciarla y llenarla con datos distintos
Code (fw): Select all Collapse
STATIC FUNCTION LlenarTran()
LOCAL i
oQryCu1:Zap() // Vacio la consulta
// Lleno la tabla con la consulta a otra
oApp:oServer:Execute("INSERT INTO transi_cuota (ticomp,numcomp,cuota,fecha,saldo,intereses,total) "+;
                    "SELECT ticomp,numcomp,cuota,fecha,saldo,0,0 "+;
                    "FROM ventas_cuota WHERE "+;
                    " ( cliente = "+ ClipValue2SQL(nCodcli) +;
                    " AND estado = 'I' AND saldo > 0"+;
                    " AND ticomp = "+ ClipValue2SQL(oQryCuo:Ticomp)+;
                    " AND numcomp = "+ClipValue2SQL(oQryCuo:numcomp)+" )")
// oQryCuo es una consulta de la tabla maestra de la factura
// nCodCli es una variable global
//Refresco 
oQryCu1:Refresh(.t.)
RETURN nil

La llena perfecto
Pero al hacer doble click o llamar a una funcion que actualice la consulta no me cambia los valores de intereses ni total
En realidad lo que tengo que hacer es que una vez que tengo los datos, calcular para cada cuota los intereses segun corresponda con la fecha de vencimiento de cada cuota.
Seguramente algo estoy haciendo mal pero no puedo detectar que.
Desde ya muchas gracias por su tiempo.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Dolphin con tabla temporal (Solucionado)
Posted: Sun May 04, 2014 04:37 PM
Encontré en la página de Dolphin la solución!
Después de ejecutar una instrucción Execute, hay que ejecutra
Code (fw): Select all Collapse
oApp:oServer:NextResult()

Continue the discussion