|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Подсчет количества
Всем доброго времени суток!У меня имеется БД Access, в которой есть две таблицы data (с полями "Название товара", "Поставщик" и "Количество") и korzina (такие же поля как и в таблице data). В Delphi на главной форме имеется 2 компонента DBGrid для отображения соответствующих таблиц и кнопка. Так вот, при нажатии на кнопку из DBGrida1 (отображает таблицу data) выделенная строка копируется в DBGrid2 (korzina). В ЧЕМ ВОПРОС : Как сделать так, чтобы при копировании строки в таблице data уменьшалось количество товара???
Помогите кто сможет!!!Использовать надо BDE Последний раз редактировалось Oshparenniy, 12.03.2009 в 13:34. |
#2
|
||||
|
||||
могу предложить немного другой вариант: в таблице DATA добавляешь поле IS_DEL : string[1] в котором будет стоять флаг удаления (напр: 'D'). А потом при отображении первого грида ставишь фильтр IS_DEL <> 'D' ... а при отображении второго грида - наоборот: IS_DEL = 'D'.
Таким образом можно сэкономить на размере баз и порграммы + на скорости работы. А по поводу твоего варианта: тебе лучше использовать Query: Код:
INSERT INTO korzina (SELECT * FROM data WHERE Naz_tovara = 'Название товара') DELETE FROM data WHERE Naz_tovara = 'Название товара' Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Последний раз редактировалось Yurk@, 12.03.2009 в 22:31. |
#3
|
||||
|
||||
1. Для доступа к данным таблицы Data используйте запрос.
2. Выводите в первой таблице данные с фильтром на количество товара больше 0. 3. Выполняйте уменьшение количества товара в data на столько-же сколько переместилось в корзину. 4. Выполняйте Requery всякий раз, как происходит перемещение товара. |
#4
|
|||
|
|||
Не могли бы вы поподробней расписать как это сделать через Query??
|