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

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

Проверка значений полей [D5, Paradox]


MishaS ©   (2003-07-04 13:01:00) 

Добрый день, у меня имеется таблица Paradox, все поля которой должны быть заполнены. Модификация данных производится в TDBGrid.
Проблема состоит в следующем, как мне отследить что пользователь заполнил все поля записи в TDBGrid, и если нет, то
не давать ему подтвердить изменения(при редактировании). А в случае вставки новой записи не дать перейти к другой, пока он не заполнит все поля.
Я использовал следующие обработчики событий:

procedure TFormSyst.Table1BeforeScroll(DataSet: TDataSet);
begin
//If Table1Name_Syst.IsNull then Abort;
If Trim(Table1.FieldByName ("Name_Syst").AsString)="" then Abort;
procedure TFormSyst.Table1BeforeInsert(DataSet: TDataSet);
begin
If Trim(Table1.FieldByName("Name").AsString)="" then Abort;
end;

Но это не помогло


MsGuns   (2003-07-07 11:43:00) [1]

ИМХО, нехорошо (хоть и просто - на первый взгляд) давать редактить узеру весь НД (а через грид это чаще всего и делается).
Тем более в парадоксе, имеющем обыкновение падать по n раз на дню.
Все коррекции должны делаться через не связанные с БД контролы. Выполнение-отмена по кнопкам. Там же и контроли корректности, заполненности и т.п. В этим случае проще, кстати, перейти от TTable (любительский уровень) к TQuery.


Zacho   (2003-07-07 11:11:00) [2]

Есть событие TField.OnValidate
Или см. Johnmen © (04.07.03 13:04)


VAleksey   (2003-07-07 11:05:00) [3]

У TTable есть замечательные события
OnPostError
OnUpdateError
их и обрабатывай.
А для полей поставь галочку Requered = true.


DenK_vrtz   (2003-07-07 11:05:00) [4]

Не давай вводить другие значения, пусть выбирают только из списка!


MishaS   (2003-07-07 10:41:00) [5]

Нужно, чтобы перед тем, как курсор перейдёт с новой, но ещё не записанной в таблицу БД записью (т.е. поля в гриде заполнены, но не нажата клавиша Enter или не было попытки перехода к другой записи) на другую (произойдёт попытка потдтвердить изменения) мне надо проверить значения полей ещё не подтверждённой записи и если они не соответствуют допустимым (проверяется в программе), то не подтвердить создание записи, но не стирать при этом значения тех полей в DBGrid какие мы уже ввели.


DenK_vrtz   (2003-07-04 13:36:00) [6]

Application.OnException


MishaS   (2003-07-04 13:31:00) [7]

DenK_vrtz, а в каком обработчике его писать


DenK_vrtz   (2003-07-04 13:17:00) [8]

Required = true, а чтобы сообщение было по-русски дописать обработчик ошибок


Johnmen   (2003-07-04 13:04:00) [9]

BeforePost


Наверх

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