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

Вниз

AdoTable.Cancel не работает.   Найти похожие ветки 

 
Sergey B.   (2003-09-17 16:41) [0]

Есть программа, по нажатию кнопки следующий код:

procedure TTovarForm.AddBitBtnClick(Sender: TObject);
begin
DataModule1.DogovorTable.Insert;
AddTovarForm:=TAddTovarForm.Create(Application);
AddTovarForm.ShowModal;
AddTovarForm.Free;
TovarForm.Repaint;
end;

На модальной форме расположены компоненты DBEdit и две кнопки (ОК И САNcel).

По кнопке Сancel просто закрываем форму, а в обработчике закрытия пишем:

if (sender=(AddTovarForm.CancelBitBtn)) then
DataModule1.DogovorTable.Cancel
else
Datamodule1.DogovorTable.Post;

Так вот После нажатия "cancel", в таблицу добавляется пустая запись Datamodule1.DogovorTable.

Если засунуть
DataModule1.DogovorTable.Cancel
В обработчик

procedure TAddTovarForm.CancelBitBtnClick(Sender: TObject);
begin
(ВОТ СЮДА)
Close;
end;
а из закрытия окна убрать
DataModule1.DogovorTable.Cancel
Запись не добавляется, но вываливается ошибка
о том что "TAble not in insert or edit mode"

procedure TTovarForm.AddBitBtnClick(Sender: TObject);
begin
DataModule1.DogovorTable.Insert;
AddTovarForm:=TAddTovarForm.Create(Application);
AddTovarForm.ShowModal;
AddTovarForm.Free; (В ЭТОЙ СТРОКЕ)
TovarForm.Repaint;
end;

По кнопке OK всё работает как часы!!!!

procedure TAddTovarForm.OkBitBtnClick(Sender: TObject);
begin
If (TovarAddDBEdit.Text="") or (ValAddDBEdit.Text="")
or (SummDBEdit.Text="")
then begin
Application.MessageBox("НЕ ЗАПОЛНЕНО ОДНО ИЗ ПОЛЕЙ!!!","Внимание",MB_OK);
Exit;
end
else
AddTovarForm.Close;
end;

Подскажите кто что думает???
С Уважением Sergey B.


 
Johnmen ©   (2003-09-17 16:46) [1]

Проверять надо не сендер, а модалрезалт.


 
Reindeer Moss Eater ©   (2003-09-17 16:48) [2]

If (ShowModal = mrOk) and (DogovorTable.State in dsEditModes) then DogovorTable.Post


 
Sergey B.   (2003-09-17 17:30) [3]

Дело в том что если кнопкам ставить ModalResult, тогда

procedure TAddTovarForm.OkBitBtnClick(Sender: TObject);
begin
If (TovarAddDBEdit.Text="") or (ValAddDBEdit.Text="")
or (SummDBEdit.Text="")
then begin
Application.MessageBox("НЕ ЗАПОЛНЕНО ОДНО ИЗ ПОЛЕЙ!!!","Внимание",MB_OK);
Exit;
end
else
AddTovarForm.Close;
end;

Форма закрывается, а должна не закрываться пока будет пусто одно из полей???

Application.MessageBox("НЕ ЗАПОЛНЕНО ОДНО ИЗ ПОЛЕЙ!!!","Внимание",MB_OK);
Exit;
end
else
AddTovarForm.Close;
end;

Может я чего то упустил???



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
3-18277
nortsov
2003-09-14 13:03
2003.10.06
роблема с update (не запоминаются изменения в таблице!)


7-18649
CUTTER
2003-07-19 06:55
2003.10.06
Считывание информации со сканера для штрих-кодов


1-18468
zerro_nuz
2003-09-24 11:54
2003.10.06
Помогите как вычесть из даты дату ?


14-18641
NeyroSpace
2003-09-17 01:11
2003.10.06
Как все это запомнить????!!!!


3-18240
MakNik
2003-09-17 15:14
2003.10.06
резервное копирование и восстановление базы MSSQL