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

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

Подскажите в чем ошибка [D6, ACCESS]


kn ©   (2002-11-12 11:29:00) 

Уважаемые мастера подскажите пожалуйста в чем ошибка. Надо чтобы программа проверяла все ли поля, и если одно не заполнено не заносила эту запись в базу, а выдавала сообщение и отправляла на страницу этого поля. Используюю следующий код:
if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else showMessage("Не заполнено поле "пол" "); PageC.ActivePage:=TabSheet1;

Заранее спасибо!


kn   (2002-11-12 14:06:00) [1]

Господа а после exit даже при всех заполненных полях ничего не идет.


kn   (2002-11-12 13:27:00) [2]

Еще раз всем спасибо.


kn   (2002-11-12 13:12:00) [3]

ЮЮ спасибо сейчас попробою.(долго не отвечал-был на обеде)


ЮЮ   (2002-11-12 13:01:00) [4]

>Он выдает сообщения, и все равно сохраняет.

if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else begin
showMessage("Не заполнено "пол" ");
PageC.ActivePage:=TabSheet1;
Exit; //прервать обработку и выйти из процедуры
end;


Андрей Прокофьев   (2002-11-12 12:29:00) [5]

2 Reindeer Moss Eater (12.11.02 12:22)
Ну, у меня не TDBEdit, а TEdit в примере :))


Reindeer Moss Eater   (2002-11-12 12:22:00) [6]

>Андрей Прокофьев ©
Это конечно сработает, но!
Пользователь полчаса вводил данные в поля, пропустив одно. Нажимаем кнопку сохранить и все уже введенные (и правильные!) значения улетают в космос.


Андрей Прокофьев   (2002-11-12 12:15:00) [7]

А что, так не работает
procedure OnSaveClick(Sender : TObject);
begin
ADOTable1.Edit;
if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else begin
showMessage("Не заполнено "пол" ");
ADOTable1.Cancel;
PageC.ActivePage:=TabSheet1;
Exit;
end;
...
if Edit1.Text = "" then
begin
showMessage("Не заполнено "имя" ");
ADOTable1.Cancel;
PageC.ActivePage:=TabSheet1;
Exit;
end;
ADOTable1.Post;


Jeer   (2002-11-12 12:10:00) [8]

DEL Phi


kn   (2002-11-12 12:05:00) [9]

господа форм много чтото переделывать нет времени. Но если вы подскажите чайнику как написать код с BeforePost просто не знаю как это сделать. Всетаки 2 месяц сижу за DELPhi


stone   (2002-11-12 12:01:00) [10]

А ты TDBRadioGroup использовать не пытался? Даже код писать не придется...


Jeer   (2002-11-12 11:56:00) [11]

Это событие наступающее перед Post.
Навесь там свою обработку
Что-то еще ?


kn   (2002-11-12 11:53:00) [12]

Пардон а по точнее насчет BeforePost можно.


kn   (2002-11-12 11:47:00) [13]

Может меня неправильно поняли но я имел ввиду что перед полем "пол" идут и другие поля. с похожим кодом. Я пробовал писать так на все. Он выдает сообщения, и все равно сохраняет.


Reindeer Moss Eater   (2002-11-12 11:37:00) [14]

Обрабатывай все в BeforePost


Андрей Прокофьев   (2002-11-12 11:31:00) [15]

if radiobut1.Checked then ADOTable1["b2"]:="муж"
else if radiobut2.Checked then ADOTable1["b2"]:="жен"
else begin
showMessage("Не заполнено "пол" ");
PageC.ActivePage:=TabSheet1;
end;


Наверх

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