He quitado el evento OnChange del DateTimePicker y lo he sustituido por:
En el evento OnEnter del DateTimePicker:
procedure TFrmMoviBanc.FechaGridEnter(Sender: TObject);
begin
FechaGrid.Date := TablaMov.FieldByName('FECOPE').AsDateTime;
end;
para que al activarse el DateTimePicker éste aparezca con la fecha que hay en la base de datos en el campo que estamos editando
En el evento OnExit del DateTimePicker:
procedure TFrmMoviBanc.FechaGridExit(Sender: TObject);
begin
dbGridDatos.SelectedIndex := 2;
if TablaMov.State in [ dsInsert, dsEdit ] then
TablaMov.FieldByName('FECOPE').AsDateTime := FechaGrid.Date;
end;
activo la siguiente columna del dbgrid y si estoy editando o insertando, actualizo en la base de datos el valor del DateTimePicker.
Espero que sirva.
|