Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.008 c
14-18639
Сатир
2003-09-16 20:34
2003.10.06
глюк


3-18234
P0tia
2003-09-16 21:43
2003.10.06
Как проверить?


1-18462
SergP
2003-09-23 21:51
2003.10.06
Не печатается отчет (TQuickRep). В чем дело?


1-18379
Vorobyev Sergey
2003-09-20 08:22
2003.10.06
Как оставить консольное прилож. работать, убрав консольное окно?


1-18337
Slym
2003-09-22 14:00
2003.10.06
Как передать параметры в MS Script Control?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский