Ver Mensaje Individual
  #8  
Antiguo 13-10-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que aquí hay varios problemas. Algunos ya se han comentado

1) Los parámetros son para valores de la consulta, no para los nombres de campos. Por eso:

Código SQL [-]
(:ES >= T.EMIN AND :ES <= T.EMAX)
Esto te está fallando por el parámetro ES.

Para esto sólo te queda utilizar variables para los nombres de campo (tal como has comentado).
Pero yo seguiría utilizando los parámetros para los valores. Ya que esto tiene muchas ventajas.

2) Por otro lado tienes 2 veces el mismo parámetro. ES
Como han comentado la opción es cambiar los nombres de los parámetros o también se puede utilizar un bucle FOR para todos los parámetros iguales. Eso te permitiría una solución más genérica.

Puedes hacer algo como esto:
Código Delphi [-]

var
  p:TParameters;
  i: Integer;
begin
      ...  

      p := TADOQuery(aDataset).Parameters;
      for i := 0 to (p.Count - 1) do begin
        if (AnsiCompareText(p[i].Name, 'SE') = 0) then
          p[i].Value := aCodigo;
      end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita