Вопрос по Access
2759
9
Существует некий запрос на объединение, данные для которого он (этот запрос) получает из двух других запросов - поля [дата] и [сумма].
1. Почему этот запрос при суммировании значений поля [сумма] игнорирует одинаковые значения поля [сумма] выбирая лишь одно? Например:

Дата | Сумма
01.01.2001 | 1
01.01.2001 | 2
01.01.2001 | 2
01.01.2001 | 3
ИТОГО: 6


вместо 8?

2. Какие волшебные буквы написать в тексте запроса на объединение, что бы формат поля [сумма] стал "с разделителями разрядов"?
Заранее весьма и весьма благодарен всем откликнувшимся.
Пал Саныч
возможно текст исходных запросов и запроса на объединение поможет решить вопрос быстрее, правда.
Mad_Dollar
Первый запрос:
SELECT :1:.ДатаФед, :1:.ВФед, :1:.ПрограммыФедФакт, договоры.Заемщик, договоры.№договора
FROM договоры INNER JOIN 1 ON договоры.Код = :1:.договоры_Код
WHERE (((:1:.ДатаФед) Is Not Null));

Второй запрос:
SELECT :1:.ДатаОбл, :1:.[В%Обл], :1:.ПрограммыОблФакт, договоры.Заемщик, договоры.№договора
FROM договоры INNER JOIN 1 ON договоры.Код = :1:.договоры_Код
WHERE (((:1:.ДатаОбл) Is Not Null));

Запрос на объединение:

select ДатаФед, ВФед, ПрограммыФедФакт,заемщик,№договора,"Федеральный" as[БЮДЖЕТ]
from АГА1
UNION select ДатаОбл, [В%Обл], ПрограммыОблФакт,заемщик,№договора,"Областной"
from АГА2
ORDER BY ДатаФед;

Вместо смайлов прошу читать [ 1 ]. Без пробелов конечно.
Пал Саныч
сделайте в запросах рерультирующие поля одинаковые. Всмысле названия полей. Чтобы если уж была дата, то не датаФед и не дата Обл, а именно дата. Со всеми полями. Через select table.field as union_field_name ... Как-то так.

ЗЫ И никто не говорил, что простой union исключает дублирующие записи. Вам что посчитать надо?
Mad_Dollar
+1
Используй UNION ALL
В конце агрегаты свернешь GROUP by
zeus
Спасибо. Сегодня попробую.
Mad_Dollar
Спасибо, получилось, а как формат чисел вывести в формате "с разделителями разрядов" в сводной таблице? Везде где возможно - такой формат стоит, в конструкторе сводной талице - тоже, но выводит общий формат.
Пал Саныч
А вот это не скажу - давно это было. Попробуйте сделать в конструкторе запрос типа "выбрать все поля из запроса на объединение" и там указать тип полей.
Пал Саныч
Спасибо, получилось, а как формат чисел вывести в формате "с разделителями разрядов" в сводной таблице? Везде где возможно - такой формат стоит, в конструкторе сводной талице - тоже, но выводит общий формат.
Возможно вам просто надо настройки системы поменять, а возможно и нет. В любом случае
"число в строку с форматированием" отдавать в запросе на сервер дурной тон.
Реализуйте функцию преобразования числа в строку (с разделителями) при непосредственном выводе таблицы в приложении (клиенте сервера).
zeus
Спасибо:
Mad_Dollar :respect:
zeus :respect:
Победил проблемку Вашими советами.