Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.28;
Скачать: CL | DM;

Вниз

Проверка значений полей   Найти похожие ветки 

 
MishaS ©   (2003-07-04 13:01) [0]

Добрый день, у меня имеется таблица 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;

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


 
Johnmen ©   (2003-07-04 13:04) [1]

BeforePost


 
DenK_vrtz ©   (2003-07-04 13:17) [2]

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


 
MishaS ©   (2003-07-04 13:31) [3]

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


 
DenK_vrtz ©   (2003-07-04 13:36) [4]

Application.OnException


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

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


 
VAleksey ©   (2003-07-07 11:05) [6]

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


 
DenK_vrtz ©   (2003-07-07 11:05) [7]

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


 
Zacho ©   (2003-07-07 11:11) [8]

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


 
MsGuns ©   (2003-07-07 11:43) [9]

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



Страницы: 1 вся ветка

Текущий архив: 2003.07.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
3-91642
АТ
2003-07-04 16:29
2003.07.28
При переносе приложения c одной машины на др. исчез русский шрифт


6-91789
sapsi
2003-05-22 09:02
2003.07.28
Передача файлов через сокеты


3-91652
MoonShiner
2003-07-04 13:09
2003.07.28
Проблема с отступом в dbf


14-91856
Дмитрий К.К.
2003-07-11 06:17
2003.07.28
Именинники 11 июля


7-91932
Leks
2003-05-16 22:11
2003.07.28
И снова СОМ порт...