Ver Mensaje Individual
  #4  
Antiguo 22-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
Supongamos que el Edit donde pones la fecha es "Fecha"

Código:
  Query1.SQL.Add('select SUM (costo)');
  Query1.SQL.Add('from tutabla');
  Query1.SQL.Add('where fecha=:f');
  Query.ParamByName('f').AsDateTime := StrToDate(Fecha.Text);
Query.Open;
Si en lugar de utilizar un TEdit utilizas un componente de fechas estilo al TDateTimePicker o TDateEdit (de las RX y que personalmente me gusta más), la asignación sería algo así

Código:
  Query.ParamByName('f').AsDateTime := Fecha.Date;
Para el tema de coger un rango de fechas, utiliza el between dentro de la consulta SQL
Código:
  Query1.SQL.Add('select SUM (costo)');
  Query1.SQL.Add('from tutabla');
  Query1.SQL.Add('where fecha between :fini and :ffin');
  Query.ParamByName('f').AsDateTime := StrToDate(FechaIni.Text);
  Query.ParamByName('f').AsDateTime := StrToDate(FechaFin.Text);
Query.Open;
Por cierto, los parámetros también puedes escribirlos directamente en la consulta SQL
Código:
  Query1.SQL.Add('select SUM (costo)');
  Query1.SQL.Add('from tutabla');
  Query1.SQL.Add('where fecha =' + 
          QuotedStr(FormatDateTime('mm/dd/yyyy', FechaIni.Date)));
Tu eliges el método, pero yo suelo utilizar el primero para evitar esas transformaciones de fecha,....

Para el tema de visualizarlo en un TDbGrid, éste tiene la propiedad Datasource donde le puedes asignar un TDataSource, el cual, a su vez tiene la propiedad Dataset a la que le puedes asignar el TQuery (o el componente que utilices para lanzar SQLs)

Última edición por __cadetill fecha: 22-09-2003 a las 10:23:58.
Responder Con Cita