Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-08-2011
lisc_dla lisc_dla is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 98
Poder: 15
lisc_dla Va por buen camino
Solo un detalle la aplicación que estoy creando es sobre venta de artículos, hago la consulta de las ventas del día y estas se muestran en el dbgrid, pero necesito que en el text solo me muestre la suma de las ventas del día. Estuvo probando el ejemplo pero no se donde colocar la función y me muestra un error

Última edición por lisc_dla fecha: 01-08-2011 a las 22:54:39.
Responder Con Cita
  #2  
Antiguo 01-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Si se realiza una busqueda con un adotable me imagino que lo que se hara sera un filtro ?.
Si se hace un filtro se puede usar algo como esto.
Código Delphi [-]
var
Total: Integer;
begin
// siempre que no este abierta la tabla
AdoTable1.Open;
Total := 0;
adotable1.disablecontrols;
try
// este filtro se supone que ya se hizo
adotable1.filter := 'TuCampo = '+ edit1.text;
adotable1.filtered := true;
adotable1.first;
while not adotable1.EOF do
 begin
 Total := Total + adotable1['Total'];
 adotable1.next;
 end;
adotable1.filter := '';
adotable1.filtered := false;
edit1.text := Inttostr(Total);
finally
adotable1.enablecontrols;
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 01-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
mmmmm
si ya tienes una consulta para mostrar las ventas del dia, te recomentaria mejor crear una consulta similar la cual te sume las ventas del dia

imaginemos que tu consulta es asi

Código Delphi [-]
 
Select TipoDOC, Documento, Fecha, Cliente, Total From TablaVentas where
Fecha = :Fecha
podrias crear esta consulta que te sume las ventas del dia
Código Delphi [-]
Select Sum (Total) As Total From TablaVentas where
Fecha = :Fecha

asocias un datasource al nuevo query y muestras esa informacion en un tdblabel
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 01-08-2011
lisc_dla lisc_dla is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 98
Poder: 15
lisc_dla Va por buen camino
oscarac

mi consulta para visualizar las ventas del día es:
Código Delphi [-]
if frm_cortedecaja.Adotable1.Locate('fecha',lbl_fecha.Caption,[]) = false then
begin
//en caso de no encontrar nada solo visualiza el dbgrid pero sin datos
    frm_cortedecaja.AdoTable1.Filtered := False;
    frm_cortedecaja.AdoTable1.Filtered := False;
    Filtro := 'fecha = '+lbl_fecha.Caption;
    frm_cortedecaja.AdoTable1.Filter := Filtro;
    frm_cortedecaja.AdoTable1.Filtered := True;
    frm_cortedecaja.AdoTable1.Open;
    frm_cortedecaja.ShowModal;
end else
begin
//en caso de encontrar datos los visuliza en el dbgrid
    frm_cortedecaja.AdoTable1.Filtered := False;
    frm_cortedecaja.AdoTable1.Filtered := False;
    Filtro := 'fecha = '+lbl_fecha.Caption;
    frm_cortedecaja.AdoTable1.Filter := Filtro;
    frm_cortedecaja.AdoTable1.Filtered := True;
    frm_cortedecaja.AdoTable1.Open;
    frm_cortedecaja.ShowModal;
entonces como seria la suma

Última edición por ecfisa fecha: 01-08-2011 a las 23:34:46.
Responder Con Cita
  #5  
Antiguo 01-08-2011
lisc_dla lisc_dla is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 98
Poder: 15
lisc_dla Va por buen camino
[caral]
me tira el siguiente error


Imagen1.jpg
Responder Con Cita
  #6  
Antiguo 01-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por lisc_dla Ver Mensaje
Estuvo probando el ejemplo pero no se donde colocar la función y me muestra un error
Podés colocarla inmediatamente despues de la declaración
Código Delphi [-]
interface

function SumarTotales(Grid: TDBGrid; const AFieldName: string): Currency;
....
y podes utilizarla en esa unidad sin problemas. También en otra unidad y agregarla en la declaración uses de la unit en que desees usarla. No mencionaste el error que te genera pero supongo que será por el alcance de la función.

Una ventaja que tiene la función que te puse, es que podés utilizarla para cualquier TDBGrid y para cualquier campo de la tabla asociada al mismo (de tipo numérico lógicamente).

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 01-08-2011 a las 23:36:05.
Responder Con Cita
  #7  
Antiguo 01-08-2011
lisc_dla lisc_dla is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 98
Poder: 15
lisc_dla Va por buen camino
por ejemplo puedo colocar la función dentro del procedure
Responder Con Cita
  #8  
Antiguo 01-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por lisc_dla Ver Mensaje
por ejemplo puedo colocar la función dentro del procedure
Si, es posible también. Delphi permite anidar procedimientos y funciones (aunque habría que hacer algunos cambios).
Pero si la declarás en una unit donde guardes tus rutinas es reutilizable para cualquier TDBGrid de esa o cualquier otra aplicación que realices.



Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 01-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Esto si que esta para romperse la cabeza:
ecfisa, directamente al DBgrid.
oscarac, por sql.
Caral, Por adotable.
Si después de todo esto lisc_dla no se hace un lio o no necesita un loquero habremos hecho un buen trabajo....
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 01-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Caral Ver Mensaje
Si después de todo esto lisc_dla no se hace un lio o no necesita un loquero habremos hecho un buen trabajo....
Por las dudas preparémonos !!!

__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 01-08-2011
lisc_dla lisc_dla is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 98
Poder: 15
lisc_dla Va por buen camino
implementado el código
Responder Con Cita
  #12  
Antiguo 02-08-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Voto por sum(total) where lo quesea evidentemente
Responder Con Cita
  #13  
Antiguo 02-08-2011
lisc_dla lisc_dla is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 98
Poder: 15
lisc_dla Va por buen camino
como mencione mi consulta es:

Código Delphi [-]
if Adotable1.Locate('fecha',lbl_fecha.Caption,[]) = false then
begin
    AdoTable1.Filtered := False;
    AdoTable1.Filtered := False;
    Filtro := 'fecha = '+lbl_fecha.Caption;
    AdoTable1.Filter := Filtro;
    AdoTable1.Filtered := True;
    AdoTable1.Open;
end
else
begin
    AdoTable1.Filtered := False;
    AdoTable1.Filtered := False;
    Filtro := 'fecha = '+lbl_fecha.Caption;
    AdoTable1.Filter := Filtro;
    AdoTable1.Filtered := True;
    AdoTable1.Open;
end;

pero donde coloco el codigo de la suma:

Código Delphi [-]
function SumarTotales(Grid: TDBGrid; const AFieldName: string): Currency;
var
  BM: TBookMarkStr;
begin
  Result:= 0;
  with Grid.DataSource.DataSet do
  begin
    BM:= Bookmark;
    DisableControls;
    while not Eof do
    begin
      Result:= Result + FieldByName(AFieldName).AsCurrency;
      Next;
    end;
    BookMark:= BM;
    EnableControls;
  end;
end;

y donde colo este otro codigo

Código Delphi [-]
Edit.Text:= FloatToStr(SumarTotales(DBGrid1,'Total'));

ya estuve intentando y me marca error

Última edición por Casimiro Noteví fecha: 02-08-2011 a las 00:45:12.
Responder Con Cita
  #14  
Antiguo 02-08-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Recuerda poner el código entre etiquetas.



.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Suma por campos aanil SQL 45 11-02-2010 02:00:50
suma de campos calculados pabloparra Conexión con bases de datos 0 12-03-2008 22:14:12
Suma de dos Campos en un BDGrid esimon SQL 6 14-09-2005 20:50:12
Suma de campos b3nshi Conexión con bases de datos 1 13-04-2005 03:13:40
suma de campos novato cesarjbf SQL 4 01-09-2004 10:12:33


La franja horaria es GMT +2. Ahora son las 17:43:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi