Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
3-91668
maxon
2003-07-07 09:20
2003.07.28
текст до 1000 символов


14-91906
panov
2003-07-12 17:35
2003.07.28
Сообщение App и Marser


3-91695
Spawn
2003-07-04 08:00
2003.07.28
DataModule


8-91780
Stexen
2003-04-04 22:53
2003.07.28
Звуковая стеганография


1-91703
Zigs
2003-07-14 14:22
2003.07.28
Рантайм созданный Canvas does not allow drawing





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский