Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
14-93232
Grande
2002-11-10 17:18
2002.11.28
Zeoslib для Delphi7


14-93203
pheonix_ash
2002-11-10 04:35
2002.11.28
Как TStringList в TString подскажите пожалуйста кто может!!!!


14-93234
Карлсон
2002-11-10 20:27
2002.11.28
помогите с задачей по яве!


3-92944
Picco
2002-11-11 10:48
2002.11.28
Параметризованные подзапросы в ADOquery


14-93195
Ketmar
2002-11-09 15:38
2002.11.28
вот. Elite: Mythology. очередной рвотнопозывной




   Наверх