Hola...
Muchas gracias
vtdeleon Probé como me dijiste y si funciono con esa forma vi cual era el error, sucede que cuando no usaba todos los parámetros era cuando marcaba el error por ejemplo en la consulta de Con_Iva tenia el parámetro Sin_Iva y no lo utilizaba en la consulta y ese era mi error… Les pongo el código que funciona las veces que sean y con un solo AdoQuery:
Código Delphi
[-] With Mod_Datos.ADOQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('SELECT Sum(CVenta) AS Total FROM TicketDetalle TD, Ticket T ' +
'Where TD.CveTecla = :Con_Iva ' +
'And TD.IdTicket = T.IdTicket ' +
'And T.Cancelado <> :Cancelado ' +
'And BETWEEN(T.FechaHora,:Fecha1,:Fecha2)');
With Parameters Do
Begin
ParamByName('Fecha1').DataType := ftDate;
ParamByName('Fecha1').Value := DateTimePicker1.Date;
ParamByName('Fecha2').DataType := ftDate;
ParamByName('Fecha2').Value := DateTimePicker2.Date;
ParamByName('Cancelado').DataType := ftBoolean;
ParamByName('Cancelado').Value := True;
ParamByName('Con_Iva').DataType := ftString;
ParamByName('Con_Iva').Value := 'L2';
End;
Open;
Con_Iva:= FieldByname('Total').AsCurrency;
End;
With Mod_Datos.ADOQuery1 Do
Begin
Close;
SQL.Clear;
SQL.Add('SELECT Sum(CVenta) AS Total FROM TicketDetalle TD, Ticket T ' +
'Where TD.CveTecla = :Sin_Iva ' +
'And TD.IdTicket = T.IdTicket ' +
'And T.Cancelado <> :Cancelado ' +
'And BETWEEN(T.FechaHora,:Fecha1,:Fecha2)');
With Parameters Do
Begin
ParamByName('Fecha1').DataType := ftDate;
ParamByName('Fecha1').Value := DateTimePicker1.Date;
ParamByName('Fecha2').DataType := ftDate;
ParamByName('Fecha2').Value := DateTimePicker2.Date;
ParamByName('Cancelado').DataType := ftBoolean;
ParamByName('Cancelado').Value := True;
ParamByName('Sin_Iva').DataType := ftString;
ParamByName('Sin_Iva').Value := 'L1';
End;
Open;
Sin_Iva:= FieldByname('Total').AsCurrency;
End;
Muchas gracias de nuevo...
La desesperación nos hace torpes o la falta de experiencia...