Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con parametros en consulta (https://www.clubdelphi.com/foros/showthread.php?t=19316)

ronimaxh 10-03-2005 15:33:05

ayuda con parametros en consulta
 
Hola amigos del club, aqui les tengo una pregunta sobre parametros uso ado con access 2000. Aqui está mi código
Código Delphi [-]
 begin
begin
    with frmdata.consulta_cheque do
       begin
         if tipo=1 then  //busqueda por beneficiario
            begin
              close;
              sql.Text:='';
              sql.Text:='select * from Vw_consulta_cheques where beneficiario like
              '+''''+'%'+beneficiario.Text+'%'+''''+ 'and periodo ='+''''+rxperiodo.Text+'''';
              open;
              cantidad.Value:=recordcount;
            end;
     
     
         if tipo=2 then  //busqueda por fecha
            begin
              close;
              Parameters.ParamByName('fechai').Value:=fechai.Date;
              Parameters.ParamByName('fechaf').Value:=fechaf.Date;
              sql.text:='select * from Vw_consulta_cheques where fecha between
              :fechai and :fechaf';
              open;
              cantidad.Value:=recordcount;
            end;
     
         if tipo=3 then //busqueda por monto
            begin
              close;
              Parameters.ParamByName('montoi').Value:=montoi.Value;
              Parameters.ParamByName('montof').Value:=montof.Value;
              sql.text:='select * from Vw_consulta_cheques where monto between
              :montoi and :montof';
              open;
              cantidad.Value:=recordcount;
            end;
       end;
 end;


Nota: el problema es el siguiente cuando hago la consulta por un tipo (usando TRadiobuttun) me la trea bien, pero cuando cambio a otro tipo el error que me da es consulta_cheque: parameter 'fechai' no found.

Nota2: Estos parametros están definidos en tquery en la propiedad (TParameters) y no se por que da ese error si los tiene.

Nota3: Disculpen por no poner las etiquetas visuales, es que no se usarlas.

marcoszorrilla 10-03-2005 18:51:22

Lo primero, te convendría más utilizar la estructura:
Código Delphi [-]
   Case tipo of
   1:
   2:
   3:
   end;

En cuanto a las etiquetas no tienes más que escribir
[delphi ]
ShowMessage('Ejemplo');
[/Delphi ]

El espacio al final es para que veas la estructura, sin el espacio quedaría así:

Código Delphi [-]
    ShowMessage('Ejemplo');

En cuanto al error si unas funcionan y otras no es que alguna de las condiciones 1, 2, 3 está mal escrita, por qué no nos dices cuales funcionan correctamente y en donde te da el error exactamente.

Un Saludo.

ronimaxh 10-03-2005 19:47:39

Gracias por el cambio que me le hiciste al mensaje, usaré la funcion case, y con respecto al error, lo que sucede es lo Sgte. cuando hago una busqueda por beneficiario la trea bien y despues quiero buscar por otro criterio sin cerrar el formulario cambiando al tipo fecha, parece que se les borran los parametros o algo asi, pero no se por que pasa.

marcoszorrilla 10-03-2005 20:04:33

Añade
Sql.Clear;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 06:58:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi