Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
СтасиД
198 / 7 / 0
Регистрация: 19.11.2015
Сообщений: 145
#1

Перекрестный запрос с параметром - MS Access

07.04.2016, 18:29. Просмотров 333. Ответов 4
Метки нет (Все метки)

Здравствуйте. Есть перекрестный запрос. Требуется выводить не все данные, а попадающие в определенный диапазон дат (начальная и конечная дата задается с помощью параметра при выполнении запроса). Причем к датам применен формат (выводятся в формате ГГГГ-ммм). Пробовала параметр задавать как обычно - в квадратных скобках (WHERE (((PP.SFPP) Between [Начальная дата: ] And [Конечная дата: ]))- не получается. Пишет, что не распознается как допустимое имя поля или выражение. Без WHERE работает, но мне надо с отбором. Помогите, пожалуйста.
http://www.cyberforum.ru/ms-access/thread2201823.html
0
Вложения
Тип файла: rar ЗапросПараметрический.rar (108.5 Кб, 4 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2016, 18:29
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перекрестный запрос с параметром (MS Access):

Перекрестный запрос
Всем привет. Вот написал простейший перекрестный запрос: TRANSFORM...

Перекрестный запрос
Всем здравствуйте, кто может прошу подсказать: имеется перекрестный запрос в...

перекрестный запрос
Задание:Создать перекрестный запрос вида: Код Сотрудника Количество...

Перекрестный запрос
Использую регистрацию дедушки :-) Прошу оказания помощи студенту В...

Перекрестный запрос
Добрый день, создаю базу данных сотрудников кто присутствует на каком объекте....

4
mobile
Эксперт MS Access
22491 / 12809 / 2611
Регистрация: 28.04.2012
Сообщений: 14,013
07.04.2016, 19:12 #2
Перекрестный с параметрами требует предложения Parameters
SQL
1
2
3
4
5
6
7
8
Parameters [Начальная дата] DATE, [Конечная дата] DATE;
TRANSFORM COUNT(PP.INN) AS [Count-INN1]
SELECT BIK.NAME AS Банк, BIK.BIK AS БИК, COUNT(PP.INN) AS Всего
FROM (BIK LEFT JOIN INN ON BIK.BIK = INN.BIK) LEFT JOIN PP ON INN.INN = PP.INN
WHERE PP.SFPP BETWEEN [Начальная дата] AND [Конечная дата]
GROUP BY BIK.NAME, BIK.BIK
ORDER BY Format$([SFPP],"yyyy-mmm")
PIVOT Format$([SFPP],"yyyy-mmm")
1
СтасиД
198 / 7 / 0
Регистрация: 19.11.2015
Сообщений: 145
07.04.2016, 19:45  [ТС] #3
Спасибо. Внесла изменение в запрос, ввожу даты: 2004-янв (начальная) 2004- мар. Выводит и апрель. Как правильно ввести даты (я ориентируюсь на формат, который настроила)?
0
mobile
Эксперт MS Access
22491 / 12809 / 2611
Регистрация: 28.04.2012
Сообщений: 14,013
07.04.2016, 20:09 #4
Лучший ответ Сообщение было отмечено СтасиД как решение

Решение

Если надо задавать только частью даты, то и фильтруемое поле должно быть в этом же формате
SQL
1
WHERE Format([SFPP],"yyyy-mmm") BETWEEN [Начальная дата] AND [Конечная дата]
Добавлено через 15 минут
Забыл. При таком формате и тип параметра должен быть строка
SQL
1
Parameters [Начальная дата] string, [Конечная дата] string;
1
СтасиД
198 / 7 / 0
Регистрация: 19.11.2015
Сообщений: 145
07.04.2016, 20:16  [ТС] #5
Написала так:
SQL
1
2
3
4
5
6
7
8
PARAMETERS [Начальная дата] DateTime, [Конечная дата] DateTime;
TRANSFORM COUNT(PP.INN) AS [Count-INN1]
SELECT BIK.NAME AS Банк, BIK.BIK AS БИК, COUNT(PP.INN) AS Всего
FROM (BIK LEFT JOIN INN ON BIK.BIK = INN.BIK) LEFT JOIN PP ON INN.INN = PP.INN
WHERE Format([SFPP],"yyyy-mmm") BETWEEN [Начальная дата] AND [Конечная дата]
GROUP BY BIK.NAME, BIK.BIK
ORDER BY Format$([SFPP],"yyyy-mmm")
PIVOT Format$([SFPP],"yyyy-mmm");
Ввожу, например, 2003-авг 2003-окт...
Не работает.
Пишет, что слишком сложно.
А как Вы вводите?

Добавлено через 2 минуты
Увидела ...
Сделала......
РАБОТАЕТ!!!!
Спасибо Вам ОГРОМНОЕ!!!!!!!
0
07.04.2016, 20:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2016, 20:16
Привет! Вот еще темы с решениями:

Перекрестный запрос
Здравствуйте, очень долго тыкал и смотрел как сделать такой запрос, но не...

Перекрестный запрос
Добрый вечер! Застряла на запросе. Требуют перекрестный с информацией по...

Перекрестный запрос
Доброго времени суток! Делаю перекрестный запрос, чтобы получить в...

Перекрестный запрос
Доброго времени суток. Ведется учет проведения ТО систем сигнализации. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru