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

Вниз

Подскажите в чем ошибка   Найти похожие ветки 

 
kn   (2002-11-12 11:29) [0]

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

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


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

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



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

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


 
kn   (2002-11-12 11:47) [3]

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


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

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


 
Jeer ©   (2002-11-12 11:56) [5]

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


 
stone ©   (2002-11-12 12:01) [6]

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


 
kn   (2002-11-12 12:05) [7]

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


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

DEL Phi


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

А что, так не работает
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;


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

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


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

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


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

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

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


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

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


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

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


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

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



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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
3-92947
CS
2002-11-12 11:26
2002.11.28
удаление дубликатов записей


3-92870
Fixxxer
2002-11-10 12:38
2002.11.28
Clipper и BDE


1-92953
ИгорьК
2002-11-18 10:13
2002.11.28
Псевдо MDI приложение


1-93132
symbol
2002-11-17 10:23
2002.11.28
Нужен способ реализации динамического шифрования шифрования


3-92852
RomZm
2002-11-13 00:10
2002.11.28
QReport по одной строке...