Работа вам нужна срочно. Не волнуйтесь, уложимся!
- 22423 авторов готовы помочь тебе.
- 2402 онлайн
Access. Исправить запрос и ещё добавить условие отбора для поля: Дата доставки фактическая (задаться значением года)
Предмет: Информатика
Раздел предмета: Базы данных, запросы в Microsoft Access (SQL, перекрёстные запросы)
На скриншоте представлен перекрёстный запрос в Microsoft Access. Ошибка возникает из-за недопустимого имени поля:
"[Заказы].[Скидка_за_просрочку, %]" не распознается ядром СУБД Microsoft Access как допустимое имя поля или выражение.
Причина — в имени поля содержится символ «%», который требует особой обработки. В Access такие поля, содержащие спецсимволы, нужно заключать в квадратные скобки целиком.
Вот исправленный вариант запроса с учётом правильного обращения к полю и добавленным условием по году "Дата_время_доставки_фактическая" (например, 2023):
TRANSFORM Sum([Исходные данные]![Количество]*(1 - [Заказы].[Скидка_за_просрочку %]/100) * [Сумма к оплате])
SELECT [Исходные данные].[Название товара]
FROM [Исходные данные]
INNER JOIN Заказы ON [Исходные данные].[Код заказа] = Заказы.[Код заказа]
WHERE Year([Дата_время_доставки_фактическая]) = 2023
GROUP BY [Исходные данные].[Название товара]
PIVOT Format([Дата_время_доставки_фактическая], "mmm");
Поле [Скидка_за_просрочку, %] заменено на: [Скидка_за_просрочку %]
(убран символ запятой, заменён на пробел, или поле должно быть переименовано в таблице — лучше избегать спецсимволов в названиях полей).
Добавлено условие: WHERE Year([Дата_время_доставки_фактическая]) = 2023
Убедитесь, что:
Если нужно задать другой год — просто замените значение в условии:
WHERE Year([Дата_время_доставки_фактическая]) = 2024
Если дашь точное имя поля, как оно записано в таблице, я помогу адаптировать запрос ещё точнее.