Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas con codigo en delphi (https://www.clubdelphi.com/foros/showthread.php?t=26921)

Nelly 07-11-2005 21:38:08

Problemas con codigo en delphi
 
Hola necesito que me ayuden a componer este codigo que esta hecho en delphi 7 y utilizando firebird como base de datos la cuestión es la siguiente:
Este codigo es para realizar una busqueda dentro una tabla llamada eventos de la base de datos, la tabla contiene información de meses atras y tambien información vigente, lo que quiero hacer es basandome en 3 componentes de delphi tales componentes son los TDBLookupComboBox. Tengo 3 componentes de este tipo los cuales utilizo para la fecha,el tipo de evento y para el municipio, lo que quiero exactamente es que cuando seleccione un tipo de evento, un municipio X y una fecha(Pero en la fecha hay una condición, quiero que muestre solo la fecha que eligire en el combo, no quiero que me arroje 10 o más fechas, solo la fecha del combo seleccionada.), al termino de la elección, cuando presione el boton Buscar que me arroje los datos seleccionados.
Quizá este ejercicio sea muy sencillo para algunos, pero en mi caso no opino lo mismo y si me ayudarian mucho si alguien respondiera a mi petición.
Muchas gracias.....

P.D. Si de plano estoy super mal en la logica de este ejercicio, se aceptan criticas constructivas

procedure Tfrmrep.btnbuscarClick(Sender: TObject);
var
evento:integer;
begin
evento:=cmbevento.keyvalue;
if evento in [1,2]>'' then begin
qryrep.Active:=false;
qryrep.SQL.Clear;
qryrep.SQL.Add('select * from eventos');
qryrep.SQL.Add('where cve_evento=:cve_evento');
qryrep.ParamByName('cve_evento').AsInteger;
qryrep.Active:=true;
end else begin
if (cmbevento.KeyValue>'') or (cmbfechevento.DateTime>'') or (cmbmunicipio.KeyValue>-1) then begin
qryrep.SQL.Clear;
qryrep.SQL.Add('select * from eventos where cve_mpo=:cve_mpo ');
qryrep.SQL.Add('where cve_evento starting with: clave and ');
qryrep.SQL.Add('fecha_evento starting with: fecha and ');
qryrep.ParamByName('clave').AsInteger:=cmbevento.KeyValue;
qryrep.ParamByName('fecha').AsDateTime;
qryrep.ParamByName('cve_mpo').AsInteger:=cmbmunicipio.KeyValue;
qryrep.Active:=true;
end else begin
ShowMessage('');
end;
end;
end;

vtdeleon 07-11-2005 21:47:45

Saludos
Cita:

Empezado por Nelly
una fecha(Pero en la fecha hay una condición, quiero que muestre solo la fecha que eligire en el combo, no quiero que me arroje 10 o más fechas, solo la fecha del combo seleccionada.),..

No estoy seguro, si acabo de entender :confused:
Código Delphi [-]
procedure Tfrmrep.btnbuscarClick(Sender: TObject);
var
 evento:integer;
begin
 evento:=cmbevento.keyvalue;
 if evento in [1,2]>'' then begin//QUE ESTAS EVALUANDO AQUI, ESTA MAL ESTA CONDICION
  qryrep.Active:=false;
  qryrep.SQL.Clear;
  qryrep.SQL.Add('select * from eventos');
  qryrep.SQL.Add('where cve_evento=:cve_evento');
  qryrep.ParamByName('cve_evento').AsInteger;//No estas asignando nada  al parametro
  qryrep.Active:=true;
 end else begin
 if (cmbevento.KeyValue>'') or (cmbfechevento.DateTime>'') or  (cmbmunicipio.KeyValue>-1) then begin
  qryrep.SQL.Clear;
  qryrep.SQL.Add('select * from eventos where cve_mpo=:cve_mpo ');
  qryrep.SQL.Add('where cve_evento starting with: clave and ');
  qryrep.SQL.Add('fecha_evento starting with: fecha and ');
{Veo de where en la misma sentencia}
  qryrep.ParamByName('clave').AsInteger:=cmbevento.KeyValue;
  qryrep.ParamByName('fecha').AsDateTime;//No asignas nada
  qryrep.ParamByName('cve_mpo').AsInteger:=cmbmunicipio.KeyValue;
  qryrep.Active:=true;
 end else begin
  ShowMessage('');
 end;
end;
end;
No aporto mas hasta aclara esos puntos

vtdeleon 07-11-2005 21:50:37

Oops, Ademas de decirte qeu uses las Etiquetas vB:=Delphi-SQL

Ves la diferencia entre post??:):)

Saludos

lpmlpm 07-11-2005 22:08:09

Ni que decir de un poquito de identación tampoco vendría mal...


La franja horaria es GMT +2. Ahora son las 15:48:47.

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