Главная страница
    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.009 c
1-18430
petro
2003-09-25 11:25
2003.10.06
проблема со стартовыми параметрами


14-18608
RDA
2003-09-17 18:20
2003.10.06
Update для Delphi 5


8-18491
[ARIA]Volunteer
2003-06-06 23:20
2003.10.06
Где можно загрузить DelphiX?


1-18287
evgeniy33
2003-09-26 09:24
2003.10.06
как отключить в программе нажатие Alt+F4


1-18330
Eugene_
2003-09-22 16:38
2003.10.06
Запись массива на диск





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский