Форум: "Базы";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c