Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
sumatoria de una tabla mientras se cumpla una condicion

buenas chicos del foro, aqui miren como siempre molestandolos, necesito la ayuda a realizar lo siguiente:

1) quiero sumar todas las cantidades que tengo en un campo monto que concuerden con la fecha que el usuario desee saber, por favor chicos, loes agradecere mucho toda la ayuda que sea posible.

utilizo una tabla plana, con la cual conecto con un table de la pestaña BDE y un data source, intente conectar un query pero no me dejo, la tabla esta hecha en el database desktop en paradox 7, segun las indicaciones del programa que utilice.

de antemano muchas gracias.

Última edición por douglas fecha: 29-10-2007 a las 05:02:11.
Responder Con Cita
  #2  
Antiguo 29-10-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código SQL [-]
Sum(Monto)
From MiTabla
Where Fecha Between FechaIni and Fechafin

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 29-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Código SQL [-]Sum(Monto)
From MiTabla
Where Fecha Between FechaIni and Fechafin


Un Saludo.
Mejor respuesta que esta no puede haber.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
[IMG]file:///C:/DOCUME%7E1/douglas/CONFIG%7E1/Temp/moz-screenshot.jpg[/IMG]hey utilice el siguiente codigo:

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
query1.Active:=false;
query1.SQL.Text:='sum(monto)';
query1.SQL.Text:='from control del internet';
query1.SQL.Text:='where fecha betwen dbedit1.Text and dbedit1.Text';
query1.Active:=true;
end;
pero me tira este error

project cibereador.exe rised exception class edbengineerror with message 'invalid use for keyword token: where.

chicos es como la segunda ves que utilizo sql, perdon pero no se mucho sobre esto, asi que los molesto de nuevo con ayuda, de antemano les agradesco un monton.
Responder Con Cita
  #5  
Antiguo 29-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola Douglas, intenta:

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Text:='select sum(monto)';
query1.SQL.Text:='from Tabla';
query1.SQL.Text:='where fecha between :FechaIn and :FechaFin';
query1.parambyname('FechaIn').Value:=edit1.text;
query1.parambyname('FechaFin').Value:=edit2.text;
query1.Open;
end;

me imagino que "Control del internet" es el nombre de la tabla.

Saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
oye perdon tanta molestadera pero me devuelve otro error es el mismo emnsaje que el anterio solo que ahora dice
query1: parameter fecha in not found;
Responder Con Cita
  #7  
Antiguo 29-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Tienes un error que es el nombre de la tabla, esta no deberia tener espacios, pero como esto sucede debes entonces encerrarla entre las comillas simples.

El error del parametro es porq no es lo mismo FechaIn a Fecha In, trata de n outilizar los espacios en nombre de tablas ni de variables.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
perdon lo escribi mal aqui en el foro, pero fechain lo tengo junto, mmm ahora probare con lo de la tabla, y lo comento por aqui, gracias eduardo col
Responder Con Cita
  #9  
Antiguo 29-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por douglas Ver Mensaje
perdon lo escribi mal aqui en el foro, pero fechain lo tengo junto, mmm ahora probare con lo de la tabla, y lo comento por aqui, gracias eduardo col
Si lo tienes junto verifica que este escrito tal como lo escribio Enecumene
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #10  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
sip asi lo tengo, y me tira erro en el where, sabes realmente lo que debo de hacer es, introducir una fecha, y luego que me tire el total de los montos en esa fecha, peron que te molete tanto, pero te agradezco mucho que me puedas ayudar
Responder Con Cita
  #11  
Antiguo 29-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
copia el codigo que estas utilizando y pegalo aqui, estoy muy seguro que hay un error en la sentencia vamos a ver cual es
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #12  
Antiguo 29-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola Douglas, fijate me he dado cuenta que en el Where falta un espacio delante, asi:

Código Delphi [-]
query1.SQL.Text:=' where fecha between :FechaIn and :FechaFin';

porque sin el espacio la consulta queda junta asi:

Código SQL [-]
select sum(monto) from Tablawhere fecha between :FechaIn and :FechaFin

en vez de:

Código SQL [-]
select sum(monto) from Tabla where fecha between :FechaIn and :FechaFin

espero que te ayude.

Saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #13  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
ya lo aplique y me sigue tirando el erro te priject cibereador .exe y token where,

el codigo que estoy trabajando es este:
Código Delphi [-]
 
procedure TForm3.Button1Click(Sender: TObject);
var
FechaIn,FechaFin:string;
begin
query1.Close;
query1.SQL.Text:='select sum(monto)';
query1.SQL.Text:='from control del internet';
query1.SQL.Text:='where fecha between :FechaIn and :FechaFin';
query1.parambyname('FechaIn').Value:=edit1.text;
query1.parambyname('FechaFin').Value:=edit2.text;
query1.Open;
end;
Responder Con Cita
  #14  
Antiguo 29-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hombre eso no es necesario, debes quitarlo:

Código Delphi [-]
var
FechaIn,FechaFin:string;

y segundo no le veo el espacio por delante del where como te propuse, aparte de eso no le veo el problema.

intenta quitar los variables y poner el espacio delante del where.

SAludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #15  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Text:='select sum(monto)';
query1.SQL.Text:='from control del internet ';
query1.SQL.Text:=' where fecha between :FechaIn and :FechaFin';
query1.parambyname('FechaIn').Value:=edit1.text;
query1.parambyname('FechaFin').Value:=edit2.text;
query1.Open;
end;

aqui esta manix perdon por lo de las variables, pero ya probe y sigue dandome el mismo error, perdomn que te ponga tantas molestias
Responder Con Cita
  #16  
Antiguo 29-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
jeje. el error esta que si tu modificas la propiedad TEXT modificas toda la sentencia, lo que tu quieres se logra con ADD

prueba esto

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
   query1.Close;
   query1.SQL.Add('select sum(monto)');
   query1.SQL.Add(' from ' + QuotedStr('control del internet'));
   query1.SQL.Add(' where fecha between :FechaIn and :FechaFin');
   query1.parambyname('FechaIn').Value:=edit1.text;
   query1.parambyname('FechaFin').Value:=edit2.text;
   query1.Open;
end;

lo de las variables tienes que quitarlo
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #17  
Antiguo 29-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Conchole, yo sabia que algo raro era, no me habia fijado que decia text en vez de Add, debo leer un poco mas o es que mi vista ya esta dando vestigios de vejez a mis 28 añitos?

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #18  
Antiguo 29-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
perdon chicos, pero ahora me da error en el select, les escribo el error, y perdon ya hasta verguenza me da molestarlo, es que deplano si los estoy molestando muchisimo, perdon, pero este es el error:

invalid use of keyword. token:select

como ven ahora es en el select
perdon les envio como tengo mi codigo ahora

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
   query1.Close;
   query1.SQL.Add('select sum(monto)');
   query1.SQL.Add(' from ' + QuotedStr('control del internet'));
   query1.SQL.Add(' where fecha between :FechaIn and :FechaFin');
   query1.parambyname('FechaIn').Value:=edit1.text;
   query1.parambyname('FechaFin').Value:=edit2.text;
   query1.Open;
end;
Responder Con Cita
  #19  
Antiguo 29-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
debes limpiar la lista


Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select sum(monto)');
   query1.SQL.Add(' from ' + QuotedStr('control del internet'));
   query1.SQL.Add(' where fecha between :FechaIn and :FechaFin');
   query1.parambyname('FechaIn').Value:=edit1.text;
   query1.parambyname('FechaFin').Value:=edit2.text;
   query1.Open;
end;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #20  
Antiguo 29-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Con que estableces la fecha?, (datetimepicker o Edit)?
Donde la seleccionas de uno o de dos?
En la tabla existe el campo fecha o es texto?
Paradox permite el parambyname solo?
Por que no hacer la suma por separado?
Bueno, yo tengo esas dudas
Saludos
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
Consulta que obtiene campos de una tabla u otra según condición Gabo SQL 10 20-08-2007 08:53:02
Salir del for select cuando se cumpla una condición Ivanzinho Firebird e Interbase 8 30-11-2005 21:47:48
Sumatoria de campos jzginez Impresión 1 16-03-2004 20:21:49


La franja horaria es GMT +2. Ahora son las 03:01:52.


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