Hola javiermirador.
Cita:
|
que al pulsar return, se posicione la tabla en ese registro y pueda ver todos sus campos en los distintos edit's,
|
Con select:
Código Delphi
[-]
procedure TForm1.edCodigoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_RETURN then
with MyQuery do
begin
Close;
SQL.Text := 'SELECT * FROM TU_TABLA WHERE CODIGO = :PCOD';
ParamByName('PCOD').AsString := edCodigo.Text;
Open;
edCpo2.Text := FieldByName('CAMPO_2').AsString;
edCpo3.Text := FieldByName('CAMPO_3').AsString;
edCpo4.Text := FieldByName('CAMPO_4').AsString;
...
end;
end;
De este modo se selecciona el registro y se copian los valores de los campos a los edits. Si hubiera un DBGrid enlazado a MyQuery, sólo se mostrará el registro seleccionado.
Cita:
|
He hecho programas complejos y siempre utilizaba en las búsqueda locates, pero esto me está costando, y sólo pretendo que se posicione en un registro de la tabla.:
|
Con Locate:
Código Delphi
[-]
procedure TForm1.edCodigoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_RETURN then
with MyQuery do
begin
Locate('CODIGO', edCodigo.Text, []);
edCpo2.Text := FieldByName('CAMPO_2').AsString;
edCpo3.Text := FieldByName('CAMPO_3').AsString;
edCpo4.Text := FieldByName('CAMPO_4').AsString;
...
end;
end;
De este modo se selecciona el registro y se copian los valores de los campos a los edits. Si hubiera un DBGrid enlazado a MyQuery, se mostrará el resto de los registros.
Saludos.