Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 13.07.2017, 20:41   #1
СтранныйЯщер
 
Регистрация: 13.07.2017
Сообщений: 3
Репутация: 10
По умолчанию

Привет всем! Хочу создать программу через которую можно будет продавать товары. Уже создал базу данных в Access подключил ее в DBGrid через ADO теперь могу создавать, редактировать товар и сохранять в эту базу. Сейчас встал вопрос реализации самого момента продажи этого товара, не могу сообразить как это сделать. Вопрос такой, мне надо создать в этой БД еще одну таблицу (промежуточную), чтобы при выборе товара он заносился туда и когда чек будет закрыт все эти товары (точнее их количество) списывалось из первой таблицы? Верно я мыслю? Подскажите пожалуйста я новичок в программировании. Заранее благодарен!

Вот есть код:

Код:

procedure TForm2.Button1Click(Sender: TObject);
begin
ADOTable1.Edit;
ADOTable1['кол']:=ADOTable1['кол']-ADOTable2['кол2'];
ADOTable1.Post;
end;

При нажатии кнопки он берет запись в DBGrid2 (ADOTable2) и вычитает из записи в DBGrid1 (ADOTable1) то количество которое указано в колонке (кол2) DBGrid2 (ADOTable2). [Работает на строчку в DBGrid2 на которой стоит маркер, если щелкну на след. строчку то код будет работать на нее.]

Вопрос как сделать так чтобы этот код вычитал из нескольких записей одновременно, то есть чтобы при нажатии кнопки он брал запись 2ух строчек в DBGrid2 (ADOTable2) и вычитал из записей 2ух строчек в DBGrid1 (ADOTable1) то количество которое указано в колонке (кол2) DBGrid2 (ADOTable2) каждой строчки? [Вообщем надо чтобы код захватывал все строчки в DBGrid2 сразу а не по одной как сейчас.]

Эти две таблицы находятся в одной БД access подключены через ADO.

Последний раз редактировалось Вадим Мошев; 19.07.2017 в 15:44.
СтранныйЯщер вне форума   Ответить с цитированием
Старый 16.07.2017, 01:12   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,005
Репутация: 6348
По умолчанию

См. методы Next, Prior, Eof, может и Bof ADOTable
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 16.07.2017, 02:07   #3
СтранныйЯщер
 
Регистрация: 13.07.2017
Сообщений: 3
Репутация: 10
По умолчанию

А можешь на моем примере показать как код с Eof должен выглядеть? Заранее благодарен!

Обрисую ситуацию чтобы было понятнее как мне надо сделать. Есть БД access в ней есть таблица (Т1) там столбцы (код, наим1, кол1):

код | наим1 | кол1
1 | яблоко | 12
2 | груша | 27
3 | банан | 22

Так же в этой БД есть еще одна таблица (Т2) там столбцы (код, код1, наим2, кол2) она пустая.

В программе создано две формы Form1 и Form2, на Form1 располагается DBGrid1 к нему подключена таблица (Т1) через ADOTable1, на Form2 располагается поле (Edit2) для выбора товара, DBGrid2 к нему подключена таблица (Т2) через ADOTable2 и кнопка Button2, когда я ввожу в поле (Edit2 на Form2) код (1, 2 или 3) то из таблицы (Т1) берется (например если я ввел код 1) яблоко и вставляется в DBGrid2 получается так:

код | код1 | наим2 | кол2
1 | 1 | яблоко |

В столбец (код1) и (наим2) берется значение из таблицы (Т1) потом я в столбец (кол2) ввожу число получается например так:

код | код1 | наим2 | кол2
1 | 1 | яблоко | 3

И это сохраняется в таблицу (Т2).

Потом при нажатии на кнопку Button2 из таблицы (Т1) вычитается то что получилось в таблице (Т2). То есть из (яблоко 12) вычитается (яблоко 3) и в итоге в таблице (Т1) получается так:

код | наим1 | кол1
1 | яблоко | 9
2 | груша | 27
3 | банан | 22

Код кнопки:

Код:

ADOTable1.Edit;
ADOTable1['кол1']:=ADOTable1['кол1']-ADOTable2['кол2'];
ADOTable1.Post;

Вопрос как доработать код кнопки чтобы при выборе на Form2 несколько товаров в DBGrid2 вычиталось сразу несколько строчек из таблицы (Т1)? Например:

Если выберу в DBGrid2 вот так

код | код1 | наим2 | кол2
1 | 1 | яблоко | 2
2 | 3 | банан | 5

То при нажатии кнопки Button2 должно в таблице (Т1) DBGrid1 получится так:

код | наим1 | кол1
1 | яблоко | 10
2 | груша | 27
3 | банан | 17

Надеюсь все понятно объяснил) Помогите пожалуйста. Заранее очень благодарен!

Последний раз редактировалось Вадим Мошев; 19.07.2017 в 15:44.
СтранныйЯщер вне форума   Ответить с цитированием
Старый 16.07.2017, 19:25   #4
СтранныйЯщер
 
Регистрация: 13.07.2017
Сообщений: 3
Репутация: 10
По умолчанию

Никто не знает?
СтранныйЯщер вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для поиска товара и среднерыночной цены DENISBLR C# (си шарп) 0 12.02.2015 15:35
Ищу движок для продажи билетов! Stoonman Фриланс 2 17.09.2011 13:09
Движок для сайта продажи рефератов kerbeross WordPress и другие CMS 2 31.07.2009 14:43
Вопрос о программировании для продажи. ED209 Свободное общение 8 24.04.2007 16:27


16:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru