Ver Mensaje Individual
  #5  
Antiguo 01-06-2015
DANIEL1818 DANIEL1818 is offline
Miembro
NULL
 
Registrado: abr 2015
Posts: 42
Reputación: 0
DANIEL1818 Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Esta vez no te entendi bien

Podes copiarnos el codigo completo para ver como filtras?

Yo tuve ciertos "problemas" a la hora de usar fechas, concretamente con ADO + MS SQL Server 2005 y 2008; eso por usar TDate desde Delphi y tipo Fecha en el campo de la bd. Desde entonces siempre almaceno Fecha/Hora y desde Delphi utilizo TDateTime, indicando explicitamente la Hora. En tu caso por ejemplo el valor completo seria 01-01-2000 00:00:00 (por ejemplo)

Sobre todo en los desde/hasta, termine haciendo esto:

Código Delphi [-]
procedure ListaVentas: TDataSet;
var
  Desde, Hasta: TDateTime
begin
  // alternativa 1
  Desde := DateTimePicker1.DateTime - TimeOf(DateTimePicker1.DateTime);
  // alternativa 2, mas sana y legible a mi parecer
  Hasta := DateTimePicker2.DateTime;
  Hasta := EncodeDateTime(YearOf(Hasta), MonthOf(Hasta), DayOf(Hasta), 0, 0, 0, 0);
  with TADOQuery.Create(NIL) do
  begin
    Connection := DataModule.MainConnection;
    SQL.Text := ' SELECT * From Ventas WHERE Fecha BETWEEN :FDesde AND :FHasta ';
    with Parameters do
    begin
      ParamByName('FDesde').DataType := ftDateTime;
      ParamByName('FHasta ').DataType := ftDateTime; 
      ParamByName('FDesde').Value:= Desde;
      ParamByName('FHasta ').Value:= Hasta; 
    end;
    Open;   
  end; 
end;

A ver si te sirve!




Mi pedazo de codigo de la condicion es asi (tambien tengo un combo box con categorias de productos):
Código Delphi [-]
  if(Form1.Edit1.Text <> ' ') and (Form1.ComboBox1.ItemIndex = -1) and 
    ((CompareDate(EncodeDate(2000, 1, 1), Form1.DateTimePicker2FechasHasta.Date) = 0 )  then 
  begin
     DM.Query_soloTitulo.Close;
     DM.ds_queryCategorias.DataSet:=DM.Query_soloTitulo;   //realizo enganche con otra Query
     DM.Query_soloTitulo.Parameters.ParamByName('elString').Value:=Form1.Edit1.Text;
     DM.Query_soloTitulo.Open;
  end ;

la idea es que si NO cambia la fecha que realice el filtrado en este caso. Pero cuando cambio la fecha dede el DateTimePicker2FechasHasta sigue realizandome el filtrado, y no deberia. Ojala se haya entendido mejor. (solo chequeo si cambia o no la fecha del DateTimePicker para acceder o no al if)

Última edición por ecfisa fecha: 01-06-2015 a las 07:06:09. Razón: Etiquetas [DELPHI]
Responder Con Cita