Главная страница
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-18238
rava
2003-09-16 10:39
2003.10.06
Помогите запросом


7-18659
Dima20
2003-07-21 10:19
2003.10.06
windows+m


6-18521
Lizard
2003-08-07 10:06
2003.10.06
Как сервером на удал-м. компе, передать инфу о файлах клиенту ?


1-18336
Bocman
2003-09-23 16:24
2003.10.06
Проблеммы с получение адреса отправителя


1-18430
petro
2003-09-25 11:25
2003.10.06
проблема со стартовыми параметрами