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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2010, 14:18   #1
Олег1984
Новичок
Джуниор
 
Регистрация: 21.09.2010
Сообщений: 4
По умолчанию Умножить 2 выражения

Уважаемые форумчане, помогите пожалуйста справится с задачкой.
Есть запрос по итогам:

Входящий остаток, сумма покупок, сумма продаж.
Из этого, мы вычисляем исходящий остаток, который выглядит следующим образом:
Исход остаток: [Last-Входящий остаток]+[Sum-Покупка]-[Sum-Продажа]
Ответы выдает правильно.
Теперь нужно вычислить стоимость, в которой как раз и возникает ошибка
""Попытка выполнить запрос, который не включает указанное выражение <имя> как часть статистической функции или группы. (Ошибка 3122)""
Там нужно Исход остаток умножить на цену
У меня это выглядит так: [Исход остаток]*[Рыночная цена]

Если вычитывать без итоговых значений, то все прекрасно считается, а здесь все время ошибка.
Олег1984 вне форума Ответить с цитированием
Старый 23.09.2010, 15:15   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Олег1984.
судя по именам полей:[Last-Входящий остаток]+[Sum-Покупка]-[Sum-Продажа], это псевдонимы автоматически присваиваемые построителем запросов.
Думаю решением будет создание поля "стоимость", скорее всего так:
([Last-Входящий остаток]+[Sum-Покупка]-[Sum-Продажа]) *[Рыночная цена]

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 23.09.2010, 15:34   #3
Олег1984
Новичок
Джуниор
 
Регистрация: 21.09.2010
Сообщений: 4
По умолчанию

Пробовал, не получается((((
Олег1984 вне форума Ответить с цитированием
Старый 23.09.2010, 17:09   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

перейдите в режим SQL, скопируйте запрос и опубликуйте его здесь.
Тогда можно будет помочь...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.09.2010, 17:20   #5
Олег1984
Новичок
Джуниор
 
Регистрация: 21.09.2010
Сообщений: 4
По умолчанию

SELECT С1.Дата, [Цены Акций].Наименование, Last(Б1.[Входящий остаток]) AS [Last-Входящий остаток], Sum(С1.Покупка) AS [Sum-Покупка], Sum(С1.Продажа) AS [Sum-Продажа], [Last-Входящий остаток]+[Sum-Покупка]-[Sum-Продажа] AS [Исход остаток], Б1.[Рыночная цена], [Исход остаток]*[Цены Акций]![Рыночная цена] AS Стоимость, С1.[Вид № док], С1.[Дата оплаты]
FROM [Цены Акций] INNER JOIN (Б1 INNER JOIN С1 ON (Б1.Наименование = С1.Наименование) AND (Б1.[№ сделки] = С1.[№ сделки])) ON [Цены Акций].[Код акций] = Б1.Наименование
GROUP BY С1.Дата, [Цены Акций].Наименование, Б1.[Рыночная цена], [Исход остаток]*[Цены Акций]![Рыночная цена], С1.[Вид № док], С1.[Дата оплаты];

Вот так выглядит
Олег1984 вне форума Ответить с цитированием
Старый 23.09.2010, 17:46   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) В вашем случае поможет SELECT ... from (тут Ваш select... )

2) [Исход остаток]*[Рыночная цена]
а какая рыночная цена Вас интересует?
Как минимум она есть в таблицах [Б1] и [Цены Акций]...

3) запрос, конечно, безумный. Вам надо будет подумать, ЧТО Вы собственно получаете и ЧТО Вам надо получить!
Вот это:
Цитата:
Код:
GROUP BY ... [Исход остаток]*[Цены Акций]![Рыночная цена]
жестокая жесть!!!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не умножить 2 на 2 Карабас Помощь студентам 4 02.02.2010 07:37
умножить матрици alexz29 Общие вопросы C/C++ 1 11.12.2009 13:18
умножить столбик Betty Microsoft Office Excel 10 27.07.2009 19:10
Умножить и разделить числа Pavelok Общие вопросы Delphi 5 19.05.2009 21:04
умножить число на элементы матрицы KORT Помощь студентам 2 04.11.2007 02:06