Hola jose001.
Cita:
Empezado por jose001
Hola estem mira el tema es que no quiero traer la ultima fila. Mas bien quiero mostrar todos los datos en el grid entre esa fecha y de todos esos datos seleccionar solo el campo total de la ultima fila y este mostrarlo en el edit por eso intente usarlo con un max(id) no se si queda clara mi duda
|
Yo me refería a lanzar una consulta adicional para obtener el valor de la columna
TOTAL.
A ver si con un ejemplo me explico mejor...
Código Delphi
[-]
...
function TtuForm.GetLastTotal( const d1, d2: TDate ): Currency;
begin
qyTmp.Close;
qyTmp.SQL.Clear;
qyTmp.SQL.Add( 'SELECT TOTAL FROM CAJA' );
qyTmp.SQL.Add( 'WHERE FECHA BETWEEN :DESDE AND :HASTA' );
qyTmp.SQL.Add( 'ORDER BY IDCAJA DESC LIMIT 1' );
qyTmp.ParamByName( 'DESDE' ).AsDate := d1;
qyTmp.ParamByName( 'HASTA' ).AsDate := d2;
qyTmp.Open;
Result := qyTmp.FieldByName( 'TOTAL' ).AsCurrency;
qyTmp.Close;
end;
begin
qCaja.Close;
qCaja.SQL.Clear;
qCaja.SQL.Add( 'SELECT * FROM CAJA' );
qCaja.SQL.Add( 'WHERE FECHA BETWEEN :DESDE AND :HASTA' );
qCaja.SQL.Add( 'ORDER BY IDCAJA' );
qCaja.ParamByName( 'DESDE' ).AsDate := Finicio.Date;
qCaja.ParamByName( 'HASTA' ).AsDate := Fhasta.Date;
qCaja.Open;
Edit1.Text := CurrToStr( GetLastTotal( Finicio.Date, Fhasta.Date ) );
end;
...
Claro está que en este caso existe la convención de usar el campo
IDCAJA como órden.
Saludos