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

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

Вопрос по удалению из БД [D6, Access]


DimonS ©   (2005-12-09 05:37:00) 

Добрый день всем. Вопрос, может, и не совсем по теме. Есть DBGridEh. ReadOnly=false, т. к нужно разрешить редактирование записей. Но мне нужно запретить удаление записей, т. е. по нажатию кнопок Ctr+Del. Как можно сделать? Если отловить нажатие клавиш, то как? Пишу в BeforeDelete:

if (key=vk_delete) and (key=vk_control) then exit;

Но ничего не происходит. Может как-то по-другому надо? Редактировать в отдельной форме проблематично - в таблице ок. 50 столбцов, просто код большой нужен будет, да и форма сильно загружена.


DimonS   (2005-12-09 10:56:00) [1]

Спасибо за ответы, в понедельник попробую, а то рабочий дэн закончился уже )))


Sandman29   (2005-12-09 10:24:00) [2]

В BeforeDelete нужно написать Abort.


Sergey13   (2005-12-09 10:12:00) [3]

2[5] DimonS ©   (09.12.05 10:05)
> Просто отловил клавишу Delete и все.
А при редактировании поля она работает?
Почему нельзя запретить удаление на уровне датасета?
В ЕхГриде есть свойство AllowedOperations там есть alopDeleteEh - не оно надо было?


DimonS   (2005-12-09 10:05:00) [4]

Вопрос снят. Просто отловил клавишу Delete и все.


sniknik   (2005-12-09 08:36:00) [5]

надо пересмотреть условие, одна переменная не может одновременно быть равна двум разным значениям. ловить в onKeyDown, и вместо выхода присваивать клавише 0.


DimonS   (2005-12-09 06:44:00) [6]

Хм..
Тогда выходит ошибка:

Incompatible types

я так понимаю, что вместо vk_delete и vk_control нужны коды клавиш?


Ильш   (2005-12-09 05:59:00) [7]

а может лутше повесить на KeyPress  ??? ;)


DimonS   (2005-12-09 05:39:00) [8]

Да, добавление. Это нужно для того, чтобы запись не удалялась физически, а просто в графе Status менялось значение.


Наверх

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