Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.03.2009, 13:31
Oshparenniy Oshparenniy вне форума
Прохожий
 
Регистрация: 28.01.2009
Сообщения: 5
Репутация: 10
Вопрос Подсчет количества

Всем доброго времени суток!У меня имеется БД Access, в которой есть две таблицы data (с полями "Название товара", "Поставщик" и "Количество") и korzina (такие же поля как и в таблице data). В Delphi на главной форме имеется 2 компонента DBGrid для отображения соответствующих таблиц и кнопка. Так вот, при нажатии на кнопку из DBGrida1 (отображает таблицу data) выделенная строка копируется в DBGrid2 (korzina). В ЧЕМ ВОПРОС : Как сделать так, чтобы при копировании строки в таблице data уменьшалось количество товара???

Помогите кто сможет!!!Использовать надо BDE

Последний раз редактировалось Oshparenniy, 12.03.2009 в 13:34.
Ответить с цитированием
  #2  
Старый 12.03.2009, 22:17
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

могу предложить немного другой вариант: в таблице 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  
Старый 12.03.2009, 22:35
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

1. Для доступа к данным таблицы Data используйте запрос.
2. Выводите в первой таблице данные с фильтром на количество товара больше 0.
3. Выполняйте уменьшение количества товара в data на столько-же сколько переместилось в корзину.
4. Выполняйте Requery всякий раз, как происходит перемещение товара.
Ответить с цитированием
  #4  
Старый 17.03.2009, 14:43
Oshparenniy Oshparenniy вне форума
Прохожий
 
Регистрация: 28.01.2009
Сообщения: 5
Репутация: 10
По умолчанию

Не могли бы вы поподробней расписать как это сделать через Query??
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter