Главная страница
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
7-91926
Senka
2003-05-19 15:00
2003.07.28
Пример проги считывания данных из СОМ- прота, помогите пож.


14-91867
sagchat
2003-07-11 15:20
2003.07.28
модем перестал набирать в тоновом режиме


1-91742
Space
2003-07-15 11:58
2003.07.28
Работа со строками


3-91623
olden69
2003-07-03 13:40
2003.07.28
копирование текущей записи из TDataSet в TClientDataSet


9-91613
Landgraph
2003-02-04 13:32
2003.07.28
Видимость полигона...