Código Delphi
[-]
En el botón o evento de búsqueda:
with TuConsulta do begin
if active then close;
SQL.Clear;
SQL.Add('Select ID, Descripcion');
SQL.Add('From TuTabla');
SQL.Add('where ID like :vID');
SQL.Add('Order By ID');
ParamByName('vID').AsString := edtEnfermedad.Text +'%';
Open;
case RecordCount of
0:
begin
messagebox('no existe');
end; 1:
begin
edtEnfermedad.Text:=FieldByName('ID').AsString;
edtDescripcion.Text := FieldByName('Descripcion').AsString;
end; else
begin
DM.qryBuscar.SQL:=SQL;
DM.qryBuscar.Open;
frmBuscar:=TfrmBuscar.create(Application);
OpcionBusqueda:=3;
frmBuscar.ShowModal;
if Seleccionado then begin
edtEnfermedad.Text:=FieldByName('ID').AsString;
edtDescripcion.Text := FieldByName('Descripcion').AsString;
end else begin
Close;
end; end; end; end;
Aquí estoy tomando un formulario que se llama "frmBuscar", el cuál contiene un DBGrid asociado a un TQuery que se llama "qryBuscar". Al seleccionar un registro en este formulario, hago lo siguiente, dependiendo de la opción de búsqueda:
Código Delphi
[-]
case OpcionBusqueda of
3: begin
with TuConsulta do begin
if active then close;
SQL.Clear;
SQL.Add('Select ID, Descripcion');
SQL.Add('From TuTabla');
SQL.Add('where ID = :vID');
SQL.Add('Order By ID');
ParamByName('vID').AsString := DM.qryBuscar.Fields[0].AsString;
Open;
end; end; Seleccionado := True;