Это код, у меня есть:запретить отправку сообщений в базу данных, если требуемые критерии не выполняются
procedure TDataModule2.MYTABLEBeforePost(DataSet: TDataSet);
begin
if (MYTABLE.FieldByName('DONE').Value = 1) then begin
DataSet.FieldByName('DONE_WHEN').AsDateTime:=Now;
end else begin
DataSet['DONE_BY'] :='';
DataSet.FieldByName('DONE_WHEN').Clear;
end;
end;
поле «DONE» является логическим полем (представленным в сетке, как флажок) и поле " DONE_BY "- это поле поиска, которое получает данные из таблицы.
Что я пытаюсь сделать, это предотвратить публикацию записи, если флажок установлен, а поле «done_by» пуст. И наоборот. Запретить публикацию, если «done_by» пуст и «сделано» не отмечено.
Так что если пользователь проверяет флажок, но забывает выбрать имя из списка поиска, отображается сообщение. Или он выбирает имя, но забывает установить флажок. Я использую cxGrid. Есть ли способ, которым я могу это сделать?
Поместите 'Abort;' в свой PrePost, чтобы предотвратить обновление –