FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xbrowse footer y mysql
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
xbrowse footer y mysql
Posted: Thu Oct 23, 2014 01:24 PM

Por favor (ya lei los ejeplos de la carpeta samples) podrian decirme
como se hace sensillamente para mostrar en un xbrowse que la ultima columna sea sumada
y me muestre "el total de deuda" que tiene?

porque la verdad estoy dando tantas vueltas que ya ni se que es lo que hay q hacer, solo copio y pego
y no entiendo el funcionbamiento del maketotals

gracias.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: xbrowse footer y mysql
Posted: Thu Oct 23, 2014 04:09 PM
goosfancito
Intenta asi:
Code (fw): Select all Collapse
oQry:=oServer:Query( "SELECT * SUM( DEBE ) TotalDebe FROM TABLA")

//En xBrowse
oBrw:lFooter=.T.

  oCol:=oBrw:AddCol()
   oCol:bStrData  := { || oQry:DEBE } 
   oCol:nHeadStrAlign := AL_CENTER
   oCol:cHeader   := "DEBE"
   oCol:bfooter:={|| ("TOTAL DEBE: "+Trans(TotalDebe,"99,999.99")) }


Saludos,

Adhemar
Saludos,



Adhemar C.
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: xbrowse footer y mysql
Posted: Thu Oct 23, 2014 06:34 PM
Adhemar...
Este query está mal:
Code (fw): Select all Collapse
oQry:=oServer:Query( "SELECT * SUM( DEBE ) TotalDebe FROM TABLA")

Debería ser:
Code (fw): Select all Collapse
oQry:=oServer:Query( "SELECT SUM( DEBE ) AS TotalDebe FROM TABLA")

Saludos,
Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: xbrowse footer y mysql
Posted: Thu Oct 23, 2014 07:11 PM
les comento.

el importe que esta en la columna que necesito acumular se calcula por dos campos mas y el iva y ganancia...
por lo que apunta a una funcion donde lee una tabla y hace el calculo.
Code (fw): Select all Collapse
function a()
  return (b = a + iva + ganancia)

el problema que no se como implementar el acumulador del footer. porque? porque cada vez que repinta el xbrowse me vuelve a acumular todo.
pense que al usar el maketotals sobre esa columna solo hacia el calculo...
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: xbrowse footer y mysql
Posted: Thu Oct 23, 2014 07:33 PM

goosfancito

Tendrías que recorrer tu tabla e ir cargándola a un Array luego tu array lo mostras en el browse.

Saludos,

Adhemar

Saludos,



Adhemar C.
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: xbrowse footer y mysql
Posted: Thu Oct 23, 2014 10:38 PM
jrestojeda wrote:Adhemar...
Este query está mal:
Code (fw): Select all Collapse
oQry:=oServer:Query( "SELECT * SUM( DEBE ) TotalDebe FROM TABLA")

Debería ser:
Code (fw): Select all Collapse
oQry:=oServer:Query( "SELECT SUM( DEBE ) AS TotalDebe FROM TABLA")

Saludos,


Realmente el "AS" es opcional, la sentencia de Adhemar es correcta

este ejemplo me funciona usando DBF, con una columna calculada, con MySql deberia ser igual, puedes ejecutarlo desde la carpeta samples de fivewin

Code (fw): Select all Collapse
#include "FiveWin.ch" 
#include "XBrowse.ch" 

function Main() 

   local oWnd, oBrw, oCol 

   USE clientes 

   DEFINE WINDOW oWnd 
    
   @ 0, 0 XBROWSE oBrw OF oWnd ALIAS "clientes" 
    
   oBrw:lFastEdit = .T. 
   oBrw:lFooter   = .T.
   
    
   oCol             = oBrw:AddCol() 
   oCol:bEditValue    = { || clientes->Nombre } 
   oCol:cHeader     = "Nombre" 
 
   oCol             = oBrw:AddCol()
   oCol:cHeader     = "Monto" 
   oCol:bEditValue := { || importe() }
   oCol:cEditPicture = "999,999.99"
   oCol:nTotal       = 0
   oCol:nWidth      =  60
   oCol:lTotal      = .T.
   
   oCol = oBrw:AddCol() 
   oCol:bEditValue    = { || clientes->Direccion } 
   oCol:cHeader     = "Direcccion" 
    
   oBrw:CreateFromCode() 
    
   oWnd:oClient = oBrw 
   oBrw:MakeTotals()


   ACTIVATE WINDOW oWnd ON INIT(oBrw:MakeTotals())


return nil 

function importe()
    local nCalculo 
    nCalculo = clientes->edad * clientes->nivel
return nCalculo
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: xbrowse footer y mysql
Posted: Thu Oct 23, 2014 10:50 PM

Gracias.

Ningun campo que muestro en el xbrowse es editable. solo muestran info. he visto que todos los que usan maketotals hacen sobre un campo editable.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: xbrowse footer y mysql
Posted: Fri Oct 24, 2014 10:44 AM
Daniel Garcia-Gil wrote:
jrestojeda wrote:Adhemar...
Este query está mal:
Code (fw): Select all Collapse
oQry:=oServer:Query( "SELECT * SUM( DEBE ) TotalDebe FROM TABLA")

Debería ser:
Code (fw): Select all Collapse
oQry:=oServer:Query( "SELECT SUM( DEBE ) AS TotalDebe FROM TABLA")

Saludos,


Realmente el "AS" es opcional, la sentencia de Adhemar es correcta

Daniel... y el "*" sin poner una coma antes del Sum(DEBE)??
Yo pruebo un query similar y da error...
Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: xbrowse footer y mysql
Posted: Fri Oct 24, 2014 11:19 AM
goosfancito wrote:Gracias.

Ningun campo que muestro en el xbrowse es editable. solo muestran info. he visto que todos los que usan maketotals hacen sobre un campo editable.


En el ejemplo no he colocado ninguna columna editable
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: xbrowse footer y mysql
Posted: Fri Oct 24, 2014 11:19 AM
Daniel Garcia-Gil wrote:
goosfancito wrote:Gracias.

Ningun campo que muestro en el xbrowse es editable. solo muestran info. he visto que todos los que usan maketotals hacen sobre un campo editable.


En el ejemplo no he colocado ninguna columna editable


Estas en lo cierto

Continue the discussion