Hola scigliano, bien venido a
Club Delphi .
Coincido con
olbeup en que no está muy claro tu planteo...
Lo que interpreté es que hay dos campos en juego, uno que indica si posee fecha de fin de contrato (llamémosle "FIN_CONTRATO") y otro (llamémosle "FECHA") que, de estar el anterior en verdadero, almacena la fecha del mismo y en caso contrario deberá tener el valor
NULL.
Si es así, yo haría por ejemplo:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
DataSet.FieldByName('FECHA').EditMask:= '00/00/0000;1; ';
end;
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
DBEdit1.Enabled:= Boolean(DataSet.FieldByName('FIN_CONTRATO').AsInteger);
Button1.Enabled:= DBEdit1.Enabled;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Boolean(DataSet.FieldByName('FIN_CONTRATO').AsInteger) then
begin
DataSet.Edit;
DataSet.FieldByName('FECHA').Clear;
DataSet.Post;
end;
end;
Saludos