|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2010, 15:42 | #1 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
Сообщение об ошибке...
Всем привет!!!
У меня имеются таблицы Продукция и Заказы. В продукции есть поле количество. Мне нужно чтобы при заполнение заказа в поле количество выдавалось сообщение об ошибке, если допустим пользователь ввел заказ на 100 штук, но в базе имеется только 90 штук данной продукции Как это можно осуществить? Подскажите пожалуйста |
21.05.2010, 16:17 | #2 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
В обработчике события на нажатие кнопки(в таблице) делайте проверку.
К примеру: Код:
Всегда рад помочь!
|
21.05.2010, 16:49 | #3 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
А в какую строчку написать этот код не подскажете? (очень нужно!!!)
Эта процедура нажатия на кнопку оформить заказ. Т.е. из таблицы клиент, я выбираю нужного клиента и продукцию из таблицы продукция, выбираю дату оформления и в DBEdit пишу количество и нажимаю на кнопку оформить: procedure TForm8.BitBtn1Click(Sender: TObject); var bool:boolean; begin bool:=false; date:=''; prod:=''; client:=''; colvo:=0; cost:=0; price:=0; str1:=''; str2:=''; if (DateToStr(DateTimePicker1.Date)='' ) or (ColvoEdit.Text='') then ShowMessage('Âñå ïîëÿ äîëæíû áûòü îáÿçàòåëüíî çàïîëíåíû!') else begin date:=DateToStr(DateTimePicker1.Dat e); str1:=Table2.FieldValues['product']; str2:=Table1.FieldValues['client']; prod:=Table2.FieldValues['art']; client:=Table1.FieldValues['CodeC']; colvo:=StrToInt(ColvoEdit.Text); price:=Table2.FieldValues['price']; cost:=colvo*price; bool:=false; Form8.Table3.Active:=false; Form8.Table3.Active:=true; Form8.Table3.First; {showmessage(SdelTable.FieldValues['art']); showmessage(prod); showmessage(SdelTable.FieldValues['codeC']); showmessage(client); showmessage(SdelTable.FieldValues['colvo']); showmessage(IntToStr(colvo)); showmessage(SdelTable.FieldValues['date']); showmessage(date); } // èùåì åñòü ëè â òàáëèöå òàêàÿ çàïèñü while not Form8.Table3.Eof do begin if ((Table3.FieldValues['art']=prod) and (Table3.FieldValues['codeC']=client) and(Table3.FieldValues['colvo']=colvo) and (Table3.FieldValues['dataS']=date)) then begin bool:=true; exit; end else Table3.Next; end; if bool=false then begin Table3.Append; Table3.FieldValues['art']:=prod; Table3.FieldValues['codeC']:=client; Table3.FieldValues['dataS']:=date; Table3.FieldValues['colvo']:=colvo; Table3.FieldValues['cost']:=cost; Table3.Post; ColvoEdit.Text:=''; end; if bool=true then if (MessageDlg('Çàêàç ïîêóïàòåëåì '+ str2 +' íà '+str1 + ' â êîëè÷åñòâå ' + ColvoEdit.Text + ' óæå îôîðìëåí.' +#13+ 'Ñîõðàíèòü â ëþáîì ñëó÷àå?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then begin Table3.Append; Table3.FieldValues['art']:=prod; Table3.FieldValues['codeC']:=client; Table3.FieldValues['dataS']:=date; Table3.FieldValues['colvo']:=colvo; Table3.FieldValues['cost']:=cost; Table3.Post; ColvoEdit.Text:=''; end else ShowMessage('Ñîõðàíåíèå îòìåíåíî!'); end; end; procedure TForm8.FormCreate(Sender: TObject); begin Form8.Table2.Active:=true; Form8.Table1.Active:=true; colvo:=0; ColvoEdit.Text:=''; end; procedure TForm8.ColvoEditChange(Sender: TObject); begin end; end. |
21.05.2010, 17:20 | #4 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Есть два варианта.
1) При вводе данных делать проверку. 2) При нажатии на кнопку (Оформить заказ) делать проверку. В этот код Вы ввели много своих переменных, поэтому сложно сориентироваться что тут куда, но в общем, делайте проверку при присвоении данных (при оформлении заказа). Примерно сюда: Код:
Всегда рад помочь!
Последний раз редактировалось Terran; 21.05.2010 в 17:55. |
21.05.2010, 18:02 | #5 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
Смысл конечно понятен. А вот куда бы я не вставляла этот код, Delphi выдает ошибку
|
21.05.2010, 18:07 | #6 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Выложите полный исходничёк своей программки со всеми относящимися к проекту файлами, а я попробую Вам его подправить.
И сообщение об ошибки должно быть всплывающим? Или где-то писаться?
Всегда рад помочь!
|
21.05.2010, 19:53 | #7 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
Terran Спасибо тебе за отзывы и коды!!! Я постараюсь сама разобраться
|
21.05.2010, 20:25 | #8 | |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Цитата:
Всегда рад помочь!
|
|
25.05.2010, 15:57 | #9 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
Мне самой додуматься ума не хватает Прошу помочь плиз!!!
|
25.05.2010, 16:58 | #10 |
Пользователь
Регистрация: 06.05.2010
Сообщений: 52
|
Помогите пожалуйста!!!!!!!!!!!!!!!!!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сообщение об ошибке | ruavia3 | Microsoft Office Excel | 3 | 13.10.2009 23:10 |
Сообщение об ошибке | Kreadlling | Общие вопросы C/C++ | 3 | 08.09.2009 13:30 |
Сообщение об ошибке! | QWERT1988 | Общие вопросы Delphi | 4 | 01.06.2009 17:14 |
Выдать сообщение об ошибке | Detka | Общие вопросы Delphi | 17 | 10.07.2008 15:06 |
Перехватить сообщение об ошибке | Insainer | Общие вопросы Delphi | 5 | 25.04.2008 20:39 |