powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Суммирование в запросе
25 сообщений из 72, страница 2 из 3
Суммирование в запросе
    #32247072
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По ходу дела тут проблема в том, что слишком много полей...
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247074
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
SELECT Bill_arrival.[Реф №], Bill_arrival.Наименование, Bill_arrival.Дата1, Bill_arrival.Дата2, Bill_arrival.Эквивалент1 AS [КА+], Bill_arrival.Эквивалент2 AS [КА-]
FROM Bill_arrival
WHERE (((Bill_arrival.[Реф №])=[forms]![заказ]![ref]))
UNION ALL SELECT  "","  ", "  "," ", sum([КА+]) as a, sum([КА-]) as q
FROM проводки;


такой вариант тоже не катит
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247085
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
Типа у тебя должны быть эти таблицы (вчера отсылал). Сам можешь убедиться :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247089
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А все оказалось проще...
Надо просто в FROM указать не "проводки", а ссылки на все таблицы в запросе UNION
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247113
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чего-то я в вас запутался.
art_m и Vsevolod V - одно лицо что ли?
или как ?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247117
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Надо просто в FROM указать не "проводки", а ссылки на все таблицы в
>запросе UNION
в каком?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247132
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1

art_m и Vsevolod V - одно лицо что ли?
Он мне помогает...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
UNION ALL SELECT Realization.[Реф №], Realization.Наименование, Realization.Дата1, Realization.Дата2,  "" AS [КА+], "  " AS [КА-], "  " AS [От А+], 
"  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +],
 " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], round(Realization.Эквивалент1, 2 ) AS [Рз+], round(Realization.Эквивалент2,  2 ) AS [Рз-]
FROM Realization
WHERE (((Realization.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT " ","  ","  "," ", sum(Bill_arrival.Эквивалент1), sum(Bill_arrival.Эквивалент2), 
sum(Bill_charge.Эквивалент1), sum(Bill_charge.Эквивалент2),
  sum(Cash.Эквивалент1), sum(Cash.Эквивалент2), sum(Bank.Эквивалент1), 
sum(Bank.Эквивалент2), sum(Зад_потр.Эквивалент1), sum(Зад_потр.Эквивалент2), sum(Зад_пост.Эквивалент1), 
 sum(Зад_пост.Эквивалент2),  sum(sklad.Эквивалент1),
  sum(sklad.Эквивалент2),  sum(Realization.Эквивалент1), 
 sum(Realization.Эквивалент2)
FROM Bill_arrival, bill_charge,Cash, Bank,  Зад_потр, Зад_пост,  sklad, Realization
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247137
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут теперь другая проблема...
Мне здесь нужно написать условие WHERE
типа (((Realization.[Реф №])=[forms]![заказ]![ref])) и так для всех таблиц
Но не в каждой таблице есть этот "Реф", т.е. AND не подходит :(
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247148
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мне здесь нужно написать условие WHERE
где здесь?
у тебя же написано вроде (см. предыдущий пост).
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247156
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь нужно что-то вроде того:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
WHERE  (((Bill_arrival.[Реф №])=[forms]![заказ]![ref]))
  and  (((Bill_charge.[Реф №])=[forms]![заказ]![ref]))
 and (((Cash.[Реф №])=[forms]![заказ]![ref]))
 and (((Bank.[Реф №])=[forms]![заказ]![ref]))
 and  (((Зад_потр.[Реф №])=[forms]![заказ]![ref]))
 and (((Зад_пост.[Реф №])=[forms]![заказ]![ref]))
 and (((sklad.[Реф №])=[forms]![заказ]![ref]))
 and (((Realization.[Реф №])=[forms]![заказ]![ref]))


Я это уже спрашивал здесь. Только что нашел. Буду делать по такому принципу:
Код: plaintext
1.
2.
3.
WHERE (((Клиенты.Клиент) Like  "*"  & [Forms]![Форма]![Клиент] &  "*"  
Or [Forms]![Форма]![Клиент] Is Null)
 AND ((Клиенты.Дата)=[Forms]![Форма]![Дата] 
Or [Forms]![Форма]![Дата] Is Null));


Правда очень длинно получится :(
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247158
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я наверное не понятно изъясняюсь :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247185
Мимо пробегал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так бы сразу и говорил, что "дела" на самом деле не табла, а тоже запрос. При юзании "иерархии" запросов рано или поздно возникает ситуевина, когда Акес не справляется с интерпретацией "оконечного" выражения. Первое, с чего надо начинать - выбросить все лишнее из группировочных запросов (Поля предложения GROUP BY, - дело в том, что в акесах были ограничения на максимальный суммарный размер полей группировки, с версией эти размеры ограничений подрастали) (тут помогает иногда способ, когда действительно необходимое для группировки пишется в одном запросе, а расшифровки подцепляются снаружи, если возможно - например группировка проводилась по join с мастер-таблицей, в т.ч. и с группировкой по полям мастера - тогда выбросить таблицу-мастер из группировки, группировать только связанные, но и по полю вторичного ключа, поля из мастера подключать после группировки), переместить все возможные поля из предложений Having в WHERE. ИНОГДА помогает перенос сложных расчетов из непосредственно SQL в ф-ии... Ну и т.п.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247187
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нихрена не понял :)
но главное, чтобы понимал ты.
по поводу
>WHERE (((Клиенты.Клиент) Like "*" & [Forms]![Форма]![Клиент] & "*"
>Or [Forms]![Форма]![Клиент] Is Null)
короче так:
Код: plaintext
WHERE (((Клиенты.Клиент) Like nz([Forms]![Форма]![Клиент], "*" )


а зачем у тебя с двух сторон от клиента *?
ты ищещь по неполному совпадению?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247211
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем у тебя с двух сторон от клиента *?
У меня вот так:
(Bill_arrival.[Реф №] = [forms]![заказ]![ref] Or Bill_arrival.[Реф №] Is Null)

Тут теперь другая проблема:
Он неправильно сумму считает: допустим сумма в первом столбце должна быть 2, а запрос умножает ее на кол-во столбцов... :(((
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247230
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Тут теперь другая проблема:
похоже на твое жизненное кредо (шутка, без обид)

>Он неправильно сумму считает: допустим сумма в первом столбце должна
>быть 2, а запрос умножает ее на кол-во столбцов... :(((
так а чего ты хотел.
выражение типа
from tab1,tab2
дает на выходе произведение таблиц (не помню как по умному называется :),
т.е. ты получаешь кол-во _записей_tab1*число_записей_tab2.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247232
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, если вычислять сумму только для двух столбцов, то в столбце первой суммы вместо 2-х пишется 4
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247233
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скажи лучше чего хочешь добиться.
может можно по-другому.
(если уже говорил, напомни :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247235
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто ж знал
И что тут теперь делать
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247240
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
давай я тебе на мыло скину :)
Там сразу все поймешь...
Это то, что мы вчера с тобой мучали, только так как надо :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247243
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кидай только запрос (или чего там еще)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247247
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лови :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247248
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
черт не то скинул :)
Лови еще раз
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247267
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видать на лошадях везут
ждемс.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247288
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если еще не пришло, то зайди в pi3dec3@mail.ru, пароль: qw
там единственное письмо - это оно ::)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247297
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поймал.
посмотрел.
работать не будет.
напомни ка, зачем последняя строка нужна (та что с суммами)?
...
Рейтинг: 0 / 0
25 сообщений из 72, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Суммирование в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]