Как сделать запросы в Access 2013?

Сегодня мы начнем рассматривать такое приложение как — Microsoft Access 2003, которое умеет создавать собственные базы данных (формат mdb), а также создавать клиентские приложения к существующим базам на основе MS SQL Server. Темой сегодняшней статьи будет создание новых запросов из Access, имеется в виду, как простые запросы, так и различные функции, представления и процедуры. Под запросом здесь понимается объекты базы данных.

О microsoft access

Microsoft Access – программный продукт компании Microsoft, являющейся реляционной СУБД. Имеет огромные возможности при организации базы данных, создания отдельного приложения, которое может взаимодействовать с множеством других СУБД.

Наиболее часто встречающееся решение клиент-сервер, где в качестве клиента выступает приложение, написанное в Access (язык VBA, формы и многое другое), а сервером является СУБД Microsoft SQL Server. Однако Access поддерживает и взаимодействие с другими СУБД, например, такими как: MySql или PostgreSQL.

О Access можно разговаривать долго, но цель сегодняшней статьи именно создание запросов (объектов) из Access.

Переходим к практике и начнем с простой базы mdb, т.е. как там создать эти самые запросы.

Создание запросов в Microsoft Access 2003 — база MDB

Для начала открываем базу, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».

Примечание! Имеется в виду, что база у Вас уже есть.

Как сделать запросы в access 2013?

И перед Вами откроется новое окно выбора типа запроса

Как сделать запросы в access 2013?

Давайте рассмотрим каждый из этих типов запросов подробней.

Типы запросов в Access 2003 — база MDB

Конструктор – это создание запроса на основе конструктора, так сказать в графическом редакторе, но в нем можно перейти в режим sql и написать текст запроса как обычно.

Сразу же после запуска у Вас откроется окно выбора нужных таблиц или уже существующих запросов, так как существующие запросы можно также использовать для выборки необходимых данных, это как будто «представление».

Как сделать запросы в access 2013?

Далее Вы просто выбираете нужные поля, ставите условия, сортировку и так далее.

Как сделать запросы в access 2013?

Если не нравится это делать в графическом редакторе, то можете переключиться в режим SQL, для этого нажмите пункт меню «Вид», затем «Режим SQL».

Простой запрос – это, можно сказать, такой же конструктор, только немного другого вида и поменьше возможностей.

Как сделать запросы в access 2013?

Перекрестный запрос – это так называемое транспонирование таблицы, другими словами, вывод данных, которые располагаются в колонках по горизонтали, т.е. каждое значение из одного столбца будет выведено по горизонтали в отдельной колонке. Это все делается с помощью мастера, поэтому проблем возникнуть не должно.

Повторяющееся записи – это как видно из названия поиск повторяющихся записей.

Записи без подчиненных – это поиск тех записей, которые отсутствуют в той или иной таблице.

С базами mdb достаточно, так как их редко используют на предприятиях, обычно используют следующую схему – пишут отдельный клиент, а все данные хранят на сервере с помощью СУБД в нашем случае — это MS SQL Server, а клиент Access (.adp).

Создание запросов в Microsoft Access 2003 — база MS SQL Server

Давайте рассмотрим создание новых запросов из клиента Access на базе MS SQL Server (подразумевается, что клиент adp и база данных на основе MS SQL Server у Вас уже есть).

Примечание! Данная статья не подразумевает изучение sql, поэтому на момент прочтения этой статьи Вы уже должны понимать основы sql и понятие основных объектов в базе данных таких как: представление, функция, процедура. Если Вы совсем новичок в этом, то сначала, конечно же, рекомендуется освоить SQL, так как многие термины ниже Вам будут не понятны. Рекомендуемые статьи:

Начало все такое же, открывает проект, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».

Как сделать запросы в access 2013?

И теперь подробней.

Типы запросов в Access 2003 — база MS SQL Server

Конструктор встроенной функции – это, можно сказать, обычное представление, только в нее можно передавать параметры, затем выполняются какие-то запросы на сервере, и возвращается таблица. Это своего рода функция, которая возвращает данные в виде таблицы. К ней обращаются следующим образом (если говорить об sql):

SELECT * FROM my_test_tabl_func(par1, par2 ……)

После нажатие на «OK» для создания этой функции, у Вас появится уже знакомое окно добавления существующих таблиц, представлений. Но я обычно закрываю это окно и пишу запрос вручную в специальное поле, для того чтобы это поле отобразилось, нажмите на панели следующее:

Как сделать запросы в access 2013?

Затем если Вы хотите добавить входящие параметры можете просто в условие ставить знак @ и название переменной, например, так:

SELECT * FROM table WHERE kod = @par

После на панели в свойствах функции

Как сделать запросы в access 2013?

на вкладке «параметры функции» появится те параметры, которые Вы указали, причем передавать их нужно в том порядке, в котором они здесь указанны.

Как сделать запросы в access 2013?

Конструктор представления – это создание обычного представления, в просто народе «Вьюха».

Конструктор сохраненной процедуры – создание процедуры с помощью конструктора, принцип такой же, как и в вышеупомянутых функциях. Напомню процедура — это набор sql операторов, как на выборку, так и на изменение данных.

Ввод сохраненной процедуры – это создание процедуры с помощью текстового редактора, т.е. создание процедуры чисто вручную. В итоге то же самое, что и с помощью конструктора. При создании объектов в текстовом редакторе шаблон создания у Вас уже создается автоматически access-ом.

Ввод скалярной функции – это создание функции, которая возвращает значение. Создается с помощью текстового редактора.

Ввод табличной функции – это создание функции, которая вернет набор записей. Похожа на встроенную функцию.

  • Для того чтобы в клиенте access их можно было отличать, у них разные иконки, те самые которые Вы видите при создании того или иного объекта.
  • При создании всех этих объектов они сохраняются на сервере, и Вы их можете использовать не только из своего adp проекта, но и из других клиентов.
  • Конечно же, все эти объекты Вы можете создать и на сервере с помощью, например, Enterprise Manager (устарел, сейчас SQL Server Management Studio), но мы сегодня рассматриваем возможность создания этих объектов из access клиента.

Источник: https://info-comp.ru/obucheniest/258-access-2003-query.html

Как самостоятельно составлять запросы в Microsoft Access

Начинающим разработчикам приложений под Microsoft сервер необходимо знать, как делать запросы в Access. Microsoft Access – самая популярная программа для работы с базами данных в Windows. Основной причиной успеха программы является интерактивный интерфейс.

Как сделать запросы в access 2013?

Запросы или команды предоставляют возможность извлекать и фильтровать информацию, вычислять итоги, а также обновлять, перемещать и удалять записи в большом количестве. Освоение команд Microsoft Access улучшит способность программистов управлять данными и упростит разработку приложений.

Визуальное представление таблиц и графических связей между ними делает запросы Microsoft Access чрезвычайно простыми в использовании. Приятный пользовательский интерфейс по-прежнему позволяет выполнять очень мощный и расширенный анализ. Весь механизм смоделирован на системах SQL и может переключаться между графическим дизайном и синтаксисом SQL.

Разработчики сами делают выбор: использовать готовый конструктор или писать код на SQL. Но стоит помнить, что знание многих функций Microsoft Access позволяет быстро выполнять расширенную обработку данных без программирования.

Читайте также:  Как сделать округление в Excel до тысяч?

Виды запросов

Microsoft Access поддерживает множество типов. Описание главных категорий:

  1. Select позволяет получать записи или сводки (итоги).
  2. Создание таблиц. Аналогично к Select, но результаты помещаются в таблицу, которая создается автоматически.
  3. Добавление. Аналогично первым двум, но результаты добавляются в существующую таблицу.
  4. Update изменяет (обновляет) данные в записях.
  5. Delete.

Команда Select является наиболее распространенной и может использоваться для просмотра и выбора данных для форм, отчетов, элементов управления и других операций. Другие типы создают или изменяют данные и вместе называются запросами действий.

Запросы на примере Select

Для создания команды с помощью конструктора следует выполнить такие действия:

  1. Перейти во вкладку «Создать» и нажать на кнопку «Конструктор запросов».
  2. Выбрать тип.Как сделать запросы в access 2013?
  3. Выбрать таблицу и поля. Основным шагом является указание таблицы или таблиц для использования и полей для отображения. Необходимо выбрать таблицу из списка. Выбранная таблица размещается в верхней части окна. Оттуда можно выбрать поля, нужно дважды нажать по ним или перетащить их в нижнюю часть окна. Важно убедиться, что опция «Вывод на экран» активна для требуемых ячеек.Как сделать запросы в access 2013?
  4. Применить сортировку и изменить порядок полей. Как только ячейки помещены в сетку QBE (нижняя часть экрана), можно изменить их последовательность.Как сделать запросы в access 2013? Для этого нужно щелкнуть на столбец и перетащить его в нужное место. Чтобы отсортировать результаты, достаточно выбрать критерий в меню «Сортировка».Как сделать запросы в access 2013?
  5. Изменить название. Данные могут храниться под названиями, которые нелегко понять пользователям. Используя выражения, можно изменить имя, которое видит пользователь. Например, имя «Поле 1» можно изменить на «ID Клиента», поместив новое имя с последующим двоеточием и исходным именем в ячейку поля QBE: «ID Клиента: [Поле 1]».Как сделать запросы в access 2013?
  6. Установить свойства. В правой части экрана есть окно свойств. Для отображения свойств запроса нужно временно отключить флажок в «Вывод на экран».Как сделать запросы в access 2013?
  7. У каждой области также есть свойства, которые можно установить. Для отображения свойств, нужно вернуть флажок и нажать на требуемое поле. В зависимости от типа данных доступны разные свойства. Наиболее важные свойства для числовых типов и типа даты. В свойствах можно указать, как ячейки будут форматироваться при выполнении.Как сделать запросы в access 2013?
  8. Просмотреть результаты и эквивалент SQL. Когда запрос завершен, можно просмотреть его результаты, переключившись из режима конструктора в «Режим таблицы». Также можно просмотреть в виде кода SQL. Таким образом, можно редактировать синтаксис SQL напрямую, просматривать результаты и переключаться в режим конструктора.Как сделать запросы в access 2013?
  9. Нажать кнопку «Выполнить» и просмотреть результат.

Настройка условий и их типы

Нижняя часть сетки QBE состоит из нескольких строк для условий. Эти дополнительные строки необходимы для того, чтобы указать, какие записи будут получены.

Чтобы еще больше сузить область, можно ввести критерии для нескольких полей одновременно. При вводе критериев в одной строке выполняется операция «И» между полями. То есть извлекаются строки, которые соответствуют критериям в поле 1 и в поле 2 и т. д. Если условия размещены в разных строках, выполняется операция «ИЛИ».

Типы условий:

  • самым простым условием является точное соответствие. Стоит ввести желаемую величину в разделе «Условие отбора»;
  • , , BETWEEN, AND. Можно получить записи, в которых значение поле не равно определенной величине, используя символ «». Точно так же используются знаки >, = или

Источник: https://vacenko.ru/kak-samostoyatelno-sostavlyat-zaprosy-v-microsoft-access/

Создание запросов в Access

Запрос (query) – это средство, позволяющее собрать необходимую информацию из объемной базы данных, т.е. это вопрос, сформированный по отношению к БД. Создание запросов в Access может осуществляться несколькими способами: по образцу (QBE)и с помощью структурированного языка запросов (SQL).

QBE – средство для поиска необходимых сведений в базе.

SQL – составленные программистом инструкции, задающие ход дальнейших действий для полученных результатов.

Создание запросов в Access 2007, 2010, 2013:

Перед созданием необходимо определиться с:

  • полями в БД, по которым будет происходить поиск информации;
  • предметом поиска;
  • перечнем полей, которые будут демонстрироваться в результате выполнения задания.

В окошке «База данных» следует выбрать вкладку с соответствующим названием и дважды щелкнуть по ней, после чего на экране появится новое окно Конструктора.

  1. В окне «Добавление таблицы» выберите один или несколько документов, которые следует использовать и нажмите кнопку «Добавить». После всех выбранных вариантов, нажмите кнопку «Закрыть».Как сделать запросы в access 2013?
  2. Все выбранные объекты переместятся на верхнюю панель Конструктора, связи (если таковые имеются) также будут отображены. При отсутствии связей, Access автоматически устанавливает их исходя из наличия полей с одинаковыми именами. Лишние соединения, добавленные приложением, основанные на неверном совпадении, можно удалить вручную, выделив необходимые, и нажав Delete.
  3. Укажите поля, которые должны отображаться в запросе Access с помощью выделения мышкой, перетаскивания или использования раскрывающегося списка.Как сделать запросы в access 2013?
  4. Следующие строчки «Условие» и «Или» обязательны к заполнению. Здесь располагаются условия отбора записей: они могут быть даже в виде логического выражения.
  5. Установить порядок сортировки можно с помощью одноименной кнопки для каждого поля отдельно, используя критерии по возрастанию или по убыванию. По умолчанию это параметр отключен для всех результатов.Как сделать запросы в access 2013?
  6. Чтобы удалить поле из табличных результатов, уберите «птичку» с пункта «Вывод на экран».Как сделать запросы в access 2013?
  7. После того, как бланк сформирован, его следует сохранить. Выберите на панели инструментов Access кнопку с соответствующим названием или выполните команду «Файл/Сохранить».

Как видите, создание запросов в Access не настолько сложный процесс, как это могло показаться в начале.

Источник: https://officeproduct.info/faq/125-sozdanie-zaprosov-v-access.html

Запросы на выборку в Access — Базы данных Access

В простейшем случае запрос реализует выбор из одной таблицы нужных полей, записей, соответствующих заданным условиям отбора, и просмотр результатов выполнения запроса.

Конструирование запросов на выборку с условиями отбора

Рассмотрим запросы на выборку в Access на примере получения информации из таблицы ТОВАР базы данных Поставка товаров.

Задача 1. Пусть необходимо выбрать ряд характеристик товара по его наименованию.

  1. Для создания запроса в окне базы данных выберите вкладку ленты — Создание (Create) и в группе Запросы (Queries) нажмите кнопку Конструктор запросов (Query Design). Откроется пустое окно запроса на выборку в режиме конструктора — ЗапросN (QueryN) и диалоговое окно Добавление таблицы (Show Table) (рис. 4.2).
  2. В окне Добавление таблицы (Show Table) выберите таблицу ТОВАР и нажмите кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных запроса. Закройте окно Добавление таблицы (Show Table), нажав кнопку Закрыть (Close).

В результате выполненных действий в окне конструктора запросов (рис. 4.1) в верхней панели появится схема данных запроса, которая включает выбранные для данного запроса таблицы.

В данном случае одну таблицу ТОВАР. Таблица представлена списком полей. Первая строка в списке полей таблицы, отмеченная звездочкой (*), обозначает все множество полей таблицы.

Нижняя панель является бланком запроса, который нужно заполнить.

Как сделать запросы в access 2013?

Кроме того, на ленте появляется и автоматически активизируется новая вкладка Работа с запросами | Конструктор (Query Tools | Design), на которой цветом выделен тип созданного запроса — Выборка (Select). Таким образом, по умолчанию всегда создается запрос на выборку.

Читайте также:  Как сделать расписание в PowerPoint?

Команды этой вкладки представляют инструментарий для выполнения необходимых действий при создании запроса. Эта вкладка открывается, когда в режиме конструктора создается новый запрос или редактируется существующий.

Как сделать запросы в access 2013?

Для удаления любой таблицы из схемы данных запроса установите на нее курсор мыши и нажмите клавишу . Для добавления ― нажмите кнопку Отобразить таблицу ( Show Table) в группе Настройка запроса (Query Setup) на вкладке Работа с запросами | Конструктор (Query Tools | Design) или выполните команду Добавить таблицу (Show Table) в контекстном меню, вызываемом на схеме данных запроса.

В окне конструктора (рис. 4.4) последовательно перетащите из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, НАЛИЧИЕ_ТОВ в столбцы бланка запроса в строку Поле (Field).

Для включения нужных полей из таблицы в соответствующие столбцы запроса можно воспользоваться следующими приемами:

  • в первой строке бланка запроса Поле (Field) щелчком мыши вызвать появление кнопки списка и выбрать из списка нужное поле. Список содержит поля таблиц, представленных в схеме данных запроса;
  • дважды щелкнуть на имени поля таблицы в схеме данных запроса;
  • для включения всех полей таблицы можно перетащить или дважды щелкнуть на символе * (звездочка) в списке полей таблицы в схеме данных запроса.
  1. Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. Столбец выделится. Нажмите клавишу или выполните команду Удалить столбцы (Delete Columns) в группе Настройка запроса (Query Setup).
  2. В строке Вывод на экран (Show) отметьте поля, иначе они не будут включены в таблицу запроса.
  3. Запишите в строке Условия отбора (Criteria) наименование товара, как показа-но в бланке запроса на рис. 4.4. Так как выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =. Используемое в выражении текстовое значение вводится в двойных кавычках, которые добавляются автоматически.
  4. Выполните запрос, щелкнув на кнопке Выполнить (Run) или на кнопке Режим (View) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записью из таблицы ТОВАР, отвечающей заданным условиям отбора.

Как сделать запросы в access 2013?

ЗАМЕЧАНИЕ
Окно запроса в режиме таблицы аналогично окну просмотра таблицы базы данных. Через некоторые таблицы запроса может производиться изменение данных базовой таблицы, лежащей в основе запроса.

Запрос, просматриваемый в режиме таблицы, в отличие от таблицы базы данных Access 2010, не имеет столбца Щелкнуть для добавления (Click to Add), предназначенного для изменения структуры таблицы.

В этом режиме на вкладке ленты Главная (Home) доступны те же кнопки, что и при открытии таблицы базы данных.

Источник: https://accesshelp.ru/zaprosy-na-vyborku-v-access/

 Создание запросов средствами MS Access 2000

Лекция 16. Создание запросов средствами MSAccess 2000

Запросы являются единственным средств позволяющим извлекать, необходимую пользователям, информацию, а также средством управления данными. Опираясь на логику реляционных операций, запросы позволяют выполнять:

  • соединение данных нескольких таблиц;
  • отображение только требуемых полей;
  • формирование сложных критериев отбора записей;
  • вычисления с использованием данных из исходных таблиц;
  •  группировку информации по каким-либо критериям;
  •  модификацию данных в таблицах.
  • MS Access предоставляет удобные механизмы быстрого создания запросов без особой подготовки, тогда как в других СУБД часто требуются знание языковых средств, для создания запросов. Для создания запросов MS Access предлагает следующие средства:

Конструктор запросов – средство конструирования запросов с использованием QBE (Query by example – запрос по образцу), требует минимальных знаний. Средство, уступающее режиму SQL.

  1. Простой запрос – позволяет быстро создавать запросы на основе одной или нескольких таблиц, в том числе итоговые запросы.
  2. Перекрестный запрос – позволяет создавать результирующие таблицы на основе результатов расчетов, полученных при анализе группы таблиц;
  3. Запрос на повторяющиеся записи – средство создания запросов для выявления повторяющихся записей, выполнено в виде мастера.
  4. Записи без подчиненных – позволяет создать запрос, отыскивающий те записи главной таблицы, которые не имеют подчиненных записей в дочерних таблицах.

Создание запросов начинается с выбора категории «Запросы» окна диалога «Базы данных». Затем, кнопкой «Создать» может быть вызвано окно диалога «Новый запрос», в котором выбирается один из вариантов создания запроса.

Как сделать запросы в access 2013?

  • Рисунок 16.1 — Диалоговое окно «Новый запрос»
  • Создание простых запросов с помощью мастера
  • Мастер запросов позволяет сформировать запрос на основе одной или нескольких таблиц с возможностью группирования (итоговый запрос), но без определения условий выборки, именно поэтому он получил название «Простой запрос».Как сделать запросы в access 2013?

Процесс создания запроса с помощью мастера сводится к следующим  шагам:

  • Запускается мастер создания простых запросов, например командой  – Создание запроса с помощью мастера

в раскрывающемся списке «Таблицы и запросы» последовательно выбираются таблицы или запросы, информация из которых необходима пользователю, а затем, из списка «Доступные поля» в список «Выбранные поля» перемещаются требуемые поля.

На втором шаге работы мастера определяется тип запроса: подробный или итоговый. Если выбран итоговый запрос, то необходимо определить итоговые операции над полями запроса: Max, Min, Sum, Avg или Count.

На третьем шаге указываем имя запроса и один из вариантов действий: открыть запрос для просмотра данных или изменить макет запроса, в первом случае результаты запроса будут выданы на экран, а во втором, запрос откроется в режиме конструктора.

Создание запроса в режиме конструктора

Конструктор редко используется для создания запросов, чаще используется как средство модификации уже существующих.

Конструктор запросов использует QBE (Query by example – запрос по образцу) позволяющий сформировать относительно сложные запросы на основе специального бланка, заполнение которого позволяет сформировать запрос, безусловно, этот способ уступает непосредственному использованию конструкций языка SQL, но требует значительно меньших знаний.

При необходимости можно использовать язык SQL, для этого необходимо перейти в режим SQL, переход выполняется командой контекстного меню конструктора запросов – «Режим SQL».

Окно конструктора (рисунок 16.3) разделено на две части. Верхняя часть предназначена для расположения таблиц, на основе которых формируется запрос. Добавление таблиц в запрос осуществляется командой панели инструментов — Отобразить таблицу.

Как сделать запросы в access 2013?

Рисунок 16.3 — Окно конструктора запроса. Пример ввода условия.

Нижняя часть является бланком запроса (QBE), здесь выполняется построение самого запроса. Формирование запроса в QBE осуществляется определением таблиц и полей, участвующих в запросе, параметров вывода, сортировки, указанием условия отбора, вычислений и т.д.

  1. Включение новых полей в запрос выполняется простым перетаскиванием имени поля из списков полей таблиц (верхней части конструктора) в требуемый столбец строки «Поле:», при этом имя таблицы определяется автоматически.
  2. При необходимости сортировки по какому-либо полю в столбце этого поля устанавливается свойство «Сортировка» в значение По возрастанию или По убыванию, выбором из раскрывающегося списка.
  3. Строка – «Вывод на экран» управляет отображением полей в результирующем наборе данных, полученном в результате выполнения запроса.
  4. Для любого из полей можно указать условие отбора, тем самым, выполнив фильтрацию данных.
Читайте также:  Как в excel сделать дату красным когда она наступает?

Поля запроса, наследуют свойства, заданные для соответствующих полей таблицы, но можно изменить формат вывода полей. Для изменения формата вывода полей используется команда контекстного меню – Свойства.

Количество строк в QBE может варьироваться в зависимости от типа создаваемого запроса, например при использовании группировки появится новая строка – «Групповая операция».

Установка критериев отбора записей

Определение критериев выборки в запросах является одной из основных задач. Чтобы сформировать требуемый пользователю набор данных необходимо определить значения условий отбора в строке «Условие отбора:» QBE.

В условиях отбора можно использовать логические операторы (or, and, not),  операторы сравнения (, =, , =), а также операторы Between, In и

Источник: https://studizba.com/lectures/10-informatika-i-programmirovanie/362-proektirovanie-baz-dannyh-na-sql/4886-16-sozdanie-zaprosov-sredstvami-ms-access-2000.html

Как я могу создать Multi-Value перекрестный запрос в Access 2013?

Мой выпуск

Я работаю в Access 2013. У меня есть набор данных, который нуждается в разбивке на основе двух полей (лучше сделать перекрестный запрос). Моя проблема, мне нужно, чтобы показать SUM и COUNT каждого (поле [Amt Total]) «Value» — и, к сожалению, доступ еще, чтобы многозначные запросы кросс.

В справочных целях, если кто-то ищет в Интернете с подобными проблемами — в результате ошибки при попытке добавить несколько полей «значение» в доступе:

Чтобы создать перекрестный запрос, необходимо указать один или несколько Row Heading (s) варианта, один заголовок столбца вариант, и вариант один Value

Исправление проблем

Я прочитал много статей о том , как сделать это, в том числе союзов , JOIN и , и условных агрегатов — еще никто не работал.

На данный момент у меня есть два функциональных перекрестные запросы … один, который возвращает COUNT, по дате, по статусу; и один, который возвращает SUM, по дате, по статусу. Я до сих пор найти способ объединить количество и сумму в одну таблицу. На данный момент я не волнует, если это делается с помощью запроса или отчета — но я предполагаю, что запрос является самым простым способом.

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

SELECT Format([DOS],yyyy-mm) AS [Month of Service], Count(IIF(myStatus=’OPEN’, myStatus, Null)) As [Open Accts], Sum(IIF(myStatus=’OPEN’, [Amt Total], Null)) As [Open Amt], Count(IIF(myStatus=’PAID’, myStatus, Null)) As [Paid Accts], Sum(IIF(myStatus=’PAID’, [Amt Total], Null)) As [Paid Amt]
FROM [myTable]
GROUP BY Format([DOS],yyyy-mm)

Моя цель

Получить одну таблицу результатов. Колонка 1 = Месяц обслуживания (все сырые записи в течение этого месяца в сочетании). Колонка 2 = общее количество записей, по месяцам. Колонка 3 = общая сумма поля [Amt Общий], по месяцам.

И, наконец, (где функциональные возможности поворота Перекрестный приходит в), столбец 4-х = Count записей [статуса X, Y Status … и состояния Z], за месяц; и столбцы х = Sum записей [статус X, Y Status …и состояние Z], по месяцам.

Любая помощь в получении значения поворота и COUNT SUM в одной таблице запросов было бы весьма признателен!

Пример данных

CrossTab «Сумма» Результат запроса

Month of Service Gross Charges DENIED OPEN PAID
2011-12 $1,613.20 $1,613.20
2012-02 $999.00 $999.00
2012-05 $14,296.00 $14,296.00
2014-09 $37,776.00 $2,874.00 $8,925.50 $25,976.50

Моя цель состоит в том, чтобы просто объединить две таблицы … держать «Месяц службы», как крайние левый столбец, а затем просто «количество», «Запрещенный Кол-во», «Открыть Кол-во», а столбцах «Paid Кола-во» с в «Валовые сборы», «Отказано Amt», «Open Amt», «Платные Amt» все столбцы, основанные на месяц службы.

My SQL

Перекрестный запрос «АМТ»

TRANSFORM Sum([myTable].[Total]) AS [SumOfTotal]
SELECT Format([DOS],yyyy-mm) AS [Month of Service], Sum([myTable].[Total]) AS [Gross Charges]
FROM [myTable]
GROUP BY Format([DOS],yyyy-mm)
PIVOT [myTable].myStatus;

Перекрестный запрос «Кол-во»

TRANSFORM Count([myTable].[Total]) AS [CountOfTotal]
SELECT Format([DOS],yyyy-mm) AS [Month of Service], Count([myTable].[Total]) AS [Quantity]
FROM [myTable]
GROUP BY Format([DOS],yyyy-mm)
PIVOT [myTable].myStatus;

Источник: https://ru.coredump.biz/questions/34752147/how-can-i-create-a-multivalue-crosstab-query-in-access-2013

Как создать многозначный запрос CrossTab в Access 2013?

Мой вопрос

Я работаю в Access 2013. У меня есть набор данных, которые нужно разбивать на основе двух полей (лучше всего сделать с кросс-табличным запросом). Моя проблема: мне нужно показать SUM и COUNT каждого поля Value ([Amt Total]), и, к сожалению, Access еще не разрешил многозначные кросс-таблицы.

Для справочных целей, если кто-то ищет в Интернете аналогичные проблемы — возникшая ошибка, если вы попытаетесь добавить несколько полей «Значение» в Access:

Чтобы создать запрос кросс-таблицы, вы должны указать один или несколько параметров заголовка строки, один параметр заголовка столбца и один параметр Value

Исправление проблем

Я читал многочисленные статьи о том, как это сделать, включая UNION, JOINs и условные агрегаты, но пока ничего не получилось.

На данный момент у меня есть два FUNCTIONAL кросс-таблицы запросов… один, который возвращает COUNT, по дате, по статусу; и тот, который возвращает SUM, по дате, по статусу. Мне еще предстоит найти способ объединить счет и сумму в одну таблицу. На этом этапе меня не волнует, было ли это сделано с помощью запроса или отчета, но я предполагаю, что запрос является самым простым способом.

У меня есть еще несколько статусов, чем приведенные ниже, но для представления моих данных, это отрывок из условного агрегатного решения:

SELECT Format([DOS],»yyyy-mm») AS [Month of Service],
Count(IIF(myStatus=’OPEN’, myStatus, Null)) As [Open Accts],
Sum(IIF(myStatus=’OPEN’, [Amt Total], Null)) As [Open Amt],
Count(IIF(myStatus=’PAID’, myStatus, Null)) As [Paid Accts],
Sum(IIF(myStatus=’PAID’, [Amt Total], Null)) As [Paid Amt]
FROM [myTable]
GROUP BY Format([DOS],»yyyy-mm»)

Моя цель

Получить таблицу результатов. Столбец 1 = Месяц обслуживания (все исходные записи в этом месяце объединены). Столбец 2 = TOTAL Количество записей по месяцам. Столбец 3 = ОБЩАЯ сумма поля [Amt Total], по месяцам.

И, наконец, (где встроена функция поворота Crosstab), столбец 4-x = количество записей [статуса X, состояния Y… и состояния Z], по месяцам; и столбцы xy = сумма записей [статуса X, состояния Y…и состояния Z], по месяцам.

Любая помощь, получающая значения поворота SUM и COUNT в одной таблице запросов, будет с благодарностью!

Примеры данных

CrossTab «Сумма» Результат запроса

Month of Service Gross Charges DENIED OPEN PAID
2011-12 $1,613.20 $1,613.20
2012-02 $999.00 $999.00
2012-05 $14,296.00 $14,296.00
2014-09 $37,776.00 $2,874.00 $8,925.50 $25,976.50

CrossTab «Количество» Результат запроса

Month of Service Quantity DENIED OPEN PAID
2011-12 1 1
2012-02 1 1
2012-05 1 1
2014-09 21 1 2 18

Моя цель состоит в том, чтобы просто объединить две таблицы… сохраняя «Месяц службы» в качестве левого столбца, а затем просто располагать столбцами «Количество», «Отклонено», «Открытое количество» и «Платный Qty», столбцы «Гросс-сборы», «Отклонено», «Открыть Amt», «Paid Amt» — все в зависимости от месяца обслуживания.

Мой SQL

CrossTab «Amt» Query

TRANSFORM Sum([myTable].[Total]) AS [SumOfTotal]
SELECT Format([DOS],»yyyy-mm») AS [Month of Service], Sum([myTable].[Total]) AS [Gross Charges]
FROM [myTable]
GROUP BY Format([DOS],»yyyy-mm»)
PIVOT [myTable].myStatus;

QuartTab «Qty» Query

TRANSFORM Count([myTable].[Total]) AS [CountOfTotal]
SELECT Format([DOS],»yyyy-mm») AS [Month of Service], Count([myTable].[Total]) AS [Quantity]
FROM [myTable]
GROUP BY Format([DOS],»yyyy-mm»)
PIVOT [myTable].myStatus;

Источник: http://qaru.site/questions/11247798/how-can-i-create-a-multi-value-crosstab-query-in-access-2013

Ссылка на основную публикацию
Adblock
detector