Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2015, 20:12   #1
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию Посчитать в вычисляемом поле стоимость

Доброго времени суток, уважаемые эксперты. Столкнулся с проблемой. В общем есть 3 Dbgrid. Первые две отображают две разных таблицы. Третья отображает запрос на некоторые столбцы из первой и некоторые со второй. В sql добавил запрос и добавил новое вычисляемое поле. У меня это поле называется "Стоимость". В нем должно умножаться поле "Цена" со второй таблицы на поле "Количество" из первой таблицы.

Проблема в том, что количество подставляется правильно, а вот цена нет. В общей таблице запроса, такого пол как цена нет поэтому его приходится брать через Dataset (мне только это пришло на ум). Таким образом данные берутся только из активно1 (изначально первой) записи с ценой, что неправильно. Цена должна подставляться в зависимости от номера товара.

Тогда я попробовал добавить цену как дополнительное поле в запрос, но мне выбивает ошибку, что-то вроде:
"adoquery type mismatch for field expecting: BCD actual: integer;"
Тип полей и в количестве и в цене числовой.

Не знаю как мне поступить. Помогите мне сделать так, чтобы цена (по номеру товара) умножалась на количество (которое подставляется правильно). Заранее спасибо всем!

Сам проект прилагаю:
Вложения
Тип файла: rar Запроссы и вычисляемые поля ЛР3.rar (336.8 Кб, 11 просмотров)
Armageddets вне форума Ответить с цитированием
Старый 07.05.2015, 21:05   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
У меня это поле называется "Стоимость". В нем должно умножаться поле "Цена" со второй таблицы на поле "Количество" из первой таблицы.
Угу
Цитата:
Помогите мне сделать так, чтобы цена (по номеру товара) умножалась на количество (которое подставляется правильно). Заранее спасибо всем!
1) Структура БД не правильно проектирован . Чуть чуть подредактировал что вы уловили понять на будущее
2) Все это логика лучше отложит на стороне СУБД в Access можно только задавать эту запрос осмыслении имя
Код:
SELECT p.Nomer_Nakladnoy, p.Data_Pokupki, t.Nazvanie_Tovara, p.Kolichestvo, t.Cena, (p.Kolichestvo*t.Cena) AS Summa
FROM Tovar AS t INNER JOIN Pokupka AS p ON t.Nomer_Tovara=p.Nomer_Tovara;
3) вызываю это запрос как таблица из Adoquery
Код:
select * from TovarPokupatel
Изображения
Тип файла: jpg 1.jpg (26.3 Кб, 71 просмотров)
Тип файла: jpg 2.jpg (43.8 Кб, 72 просмотров)
Вложения
Тип файла: rar T_Zaporis.rar (327.3 Кб, 11 просмотров)

Последний раз редактировалось xxbesoxx; 07.05.2015 в 22:17.
xxbesoxx вне форума Ответить с цитированием
Старый 08.05.2015, 10:11   #3
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию

Спасибо большое. Ваш пример работает. Но Дело в том, что у меня задание сделать так, как написано в лабораторной работе (задание прилагаю). И вот по нему не получилось у меня сделать. А у Вас все отлично работает. Скажите возможно ли сделать по примеру или там ошибка?
Изображения
Тип файла: jpg Рисунок (67).jpg (122.5 Кб, 117 просмотров)
Тип файла: jpg Рисунок (68).jpg (81.2 Кб, 131 просмотров)

Последний раз редактировалось Armageddets; 08.05.2015 в 10:20.
Armageddets вне форума Ответить с цитированием
Старый 08.05.2015, 13:45   #4
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Скажите возможно ли сделать по примеру или там ошибка?
Я думаю что вам надо отложить это бумаги на полке времено и удивительно почему вы до этого читали не тренировали на таких задаче
1) Почитать про Нормализация реляционных баз данных про Primary Key и Foreign key для чего они применяется ! потренировать чуть-чуть
2) Почитать про JOIN для чего они применяется
После этого все станеть на своего месте ... почти на все книге написано это подробно

Последний раз редактировалось xxbesoxx; 08.05.2015 в 13:49.
xxbesoxx вне форума Ответить с цитированием
Старый 08.05.2015, 14:27   #5
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию

Спасибо огромное за помощь. Буду читать. Думаю тему можно закрывать.
Armageddets вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несовместимая формула в вычисляемом столбце Доктор Microsoft Office Excel 1 07.12.2012 13:23
Как получить значение поля в вычисляемом поле? FullSilence Microsoft Office Access 1 29.07.2011 01:13
После ввода в поле по Enter нужно перейти на другое поле! •ScReam•™ Помощь студентам 2 16.06.2009 08:47
Сводные таблицы: ссылки на прошлый период в вычисляемом поле. kwanon Microsoft Office Excel 2 09.04.2009 15:53
Текстовые файлы посчитать сколько символов используется в поле leest Помощь студентам 8 19.02.2008 20:59