Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отмена операции удаления из таблицы [D7, MSAccess]


Zergling ©   (2003-07-04 08:14:00) 

Здраствуйте еще раз! Такая вот пролемка. В событии таблицы OnBeforeDelete такой код.
if MessageDlg("После удаления этой записи ... Выполнить
данную операцию?", mtWarning, [mbYes, mbNo], 0) = mrNo then
begin
Shipment.Cancel;
EXIT;
end;
На отвтет "No" запись все равно удаляется. Как мне отменить удаление записи если пользователь передумал удалять запись из таблицы? Работаю через ADO. Заранее благодарствую за помощь.


Alex_***   (2003-07-04 20:29:00) [1]

Есть такая шайтан-процедура Abort


Zergling   (2003-07-04 09:42:00) [2]

Ну вот и разобрались :-). Спасибо.


ЮЮ   (2003-07-04 09:10:00) [3]

В Help-е все сказано:

Occurs before an application attempts to delete the active record.

property BeforeDelete: TDataSetNotifyEvent;

TDataSet.BeforeDelete
Description

Write a BeforeDelete event handler to take specific action before an application deletes the active record. BeforeDelete is called by Delete before it actually deletes a record.

Making use of this event an application might, for example, display a dialog box asking for confirmation before deleting the record. On denial of confirmation, the application could abort the deletion by calling the Abortprocedure.


Zergling   (2003-07-04 09:01:00) [4]

ЮЮ © (04.07.03 08:20)
> Очевидно, надо вызвать исключение в этом обработчике,
Нееее так не поедет. Например: Выполнить данную операцию? -> No после этого еще и второе окно получить с сообщением об исключительной ситуации. На до шоб для пользователя все культурно было.
> Нормальное завершение OnBeforeDelete тоже никак не припятсвует > > последующему удалению
OnBeforeDelete по хелпу вызывается перед удалением записи => уменя осталось мнение что прервать операцию удаления можно более культурным методом. Только вот как? Вот в чем вопрос :-).


ЮЮ   (2003-07-04 08:20:00) [5]

Shipment.Cancel только отменяет изменения в Shipment и никак не влиет на операцию удаление. Нормальное завершение OnBeforeDelete тоже никак не припятсвует последующему удалению. Очевидно, надо вызвать исключение в этом обработчике, дабы код непосредственного удаления записи в методе Delete не сработал


Наверх

Титульная страница Поиск, карта сайта Написать письмо