Составить запрос в Microsoft Access на основе таблицы, приведенной в изображении

Условие:

Вариант 5. Access

Условие: Вариант 5. Access

Решение:

Предмет: Информатика
Раздел предмета: Базы данных, работа с запросами в Microsoft Access (вычисляемые поля, условия отбора, форматирование дат, расчетные выражения)


Задание: Вариант 5 (Access)

Необходимо составить запрос в Microsoft Access на основе таблицы, приведенной в изображении.
Рассмотрим Вариант 5, который включает:

Заголовки строк:

  • Название товара

Заголовки столбцов (вычисляемое поле):

  • Месяц фактической доставки

Поля источника запроса:

  • Таблица: Доставка
  • Поле: [Дата доставки фактическая]

Формула (вычисляемое поле):

Format([Доставка]![Дата доставки фактическая]; "mmm"; "1"; "1")
Эта формула извлекает название месяца из поля даты в формате краткого названия месяца (например, Jan, Feb и т.д.).

Условие отбора для поля:

  • Дата доставки фактическая — предполагается, что пользователь задаёт значение года (например, 2023), чтобы фильтровать данные по году.

Результирующее значение (вычисляемое поле):

  • Имя: Сумма к оплате

Формула:

 ([Стоимость товара] * [Количество доставленного товара]) * (1 - [Скидка за просрочку]) 


Пояснение:

  1. Format([Доставка]![Дата доставки фактическая]; "mmm"; "1"; "1")

    • Функция Format() используется для форматирования даты.
    • "mmm" — формат краткого названия месяца (Jan, Feb, Mar...).
    • "1"; "1" — указывает, что недостающие значения будут интерпретироваться как первый день месяца и текущий год, если они отсутствуют.
  2. Сумма к оплате рассчитывается как:

    • Стоимость за единицу товара умножается на количество доставленного товара.
    • Затем применяется скидка за просрочку: умножение на выражение (1 - [Скидка за просрочку]).

Если нужно реализовать это в Access, то:

Пример SQL-запроса в Access:

SELECT 
    [Название товара],
    Format([Дата доставки фактическая], "mmm") AS [Месяц фактической доставки],
    ([Стоимость товара] * [Количество доставленного товара]) * (1 - [Скидка за просрочку]) AS [Сумма к оплате]
FROM 
    Доставка
WHERE 
    Year([Дата доставки фактическая]) = 2023;  -- Пример: фильтрация по году

Если потребуется, можно заменить 2023 на параметр запроса, чтобы пользователь вводил год при выполнении запроса:

WHERE Year([Дата доставки фактическая]) = [Введите год доставки]

Если у тебя есть таблица в Access, я могу помочь составить конкретный запрос по структуре твоей базы.

Не нашли нужного вам решения? Оставьте заявку и наши авторы быстро и качественно помогут вам с решением.
Оставить заявку
Работа вам нужна срочно. Не волнуйтесь, уложимся!
  • 22423 авторов готовы помочь тебе.
  • 2402 онлайн