Текущий архив: 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.46 MB
Время: 0.01 c