Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 29-12-2010
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
gracias de nuevo.

Bien como me he debido de liar yo solo, creo y, a pesar de hacer funcionar el programa a nivel dbgrid con filtro, se me resiste el poder sumar en funcion de lo que me aparece en el dbgrid, pero no encuentra los campos.

No quiero pretender que sea un curso acelerado de sql , sino mas bien una pequeña orientacion sobre, me imagino, algo tan básico como esto.

Pongo las lineas donde hago lo que me dices:

En el formcreate tengo esto:

Código Delphi [-]
zconnection1.Database:='g:\leerdes\ventas.fdb';
  zconnection1.Connected:=true;
  qventas.SQL.Text:='select * from lineasventa';
   qventas.IndexFieldNames:='codigo';
  qventas.Active:=true;

Tengo un zconnection, un zquery(ventas) unido al zconnection, un datasource unido al query y un dbgrid unido al datasource.

En pantalla tengo un dbgrid con sus columnas respectivas, 2 introduccion de fechas y 2 de horas y un un checkbox.

Cuando arranco el programa me muestra todos los registros de la tabla.

si le meto las fechas y horas solo, el dbgrid me muestra los que cumplen el rango:

Código Delphi [-]
 if checkbox1.Checked=true then
  begin
  qventas.SQL.clear;
  qventas.Active:=False;
  qventas.Close;
qventas.Sql.Text:='SELECT * FROM lineasventa WHERE FECHA>=:FECHANAC1  AND FECHA<=:FECHANAC2 and hora>=:hora1 and hora<=:hora2';
qventas.ParamByName('FECHANAC1').AsDate:=dateedit1.Date;
qventas.ParamByName('FECHANAC2').AsDate:=dateedit2.Date;
qventas.ParamByName('hora1').Astime:=strtotime(maskedit1.Text);
qventas.ParamByName('hora2').Astime:=strtotime(maskedit2.text);
qventas.open;
qventas.Filtered:=true;
dateedit1.Enabled:=false;
dateedit2.Enabled:=false;
maskedit1.Enabled:=false;
maskedit2.enabled:=false;
 qventas.SQL.clear;
  qventas.close;
qventas.SQL.Text:='select sum(importe) as sumaa from lineasventa And FECHA  between :FECHANAC1  AND :FECHANAC2 and hora between :hora1 and :hora2';
qventas.ParamByName('FECHANAC1').AsDate:=dateedit1.Date
qventas.ParamByName('FECHANAC2').AsDate:=dateedit2.Date;
qventas.ParamByName('hora1').Astime:=strtotime(maskedit1.Text);
qventas.ParamByName('hora2').Astime:=strtotime(maskedit2.text);
qventas.Open;
end
  else
  begin
    qventas.Active:=False;
   qventas.SQL.clear;
   qventas.sql.text:='select * from lineasventa';
  qventas.Active:=true;
  dateedit1.Enabled:=true;
dateedit2.Enabled:=true;
maskedit1.Enabled:=true;
maskedit2.enabled:=true;
//calculos;
  end;
  end;

Al ejecutar el programa me da error en esta linea:
Código Delphi [-]
qventas.SQL.Text:='select sum(importe) as sumaa from lineasventa And  FECHA  between :FECHANAC1  AND :FECHANAC2 and hora between :hora1 and  :hora2'
donde pone :hora1 y etc, me salen interrogantes ademas dice invalid token.

Si no pongo el tema de la suma no hay problema, me aplica el filtro.

Que estoy haciendo mal?.

gracias nuevamente.

pd: por cierto marcoszorrilla, tambien soy de cantabria, de santander mas concretamente, pero estoy fuera del pais hace ya 4 años y si, tengo morrilla snif, snif snif.
Responder Con Cita
 


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
sumar columna Memo6015 OOP 11 27-01-2011 02:06:33
sumar la columna de un dbgrid pharaonhx Varios 3 12-06-2008 15:27:27
Sumar Columna en StringGrig carlosh2006 Varios 2 28-08-2007 03:23:53
sumar una columna DBGrid cancerbero Conexión con bases de datos 5 11-08-2006 18:49:37
Sumar columna de un dbgrid Choclito Varios 0 24-07-2006 07:47:08


La franja horaria es GMT +2. Ahora son las 15:17:11.


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