Для выбора источника данных для отчета откройте отчет в режиме макета и нажмите клавиши ALT+ENTER, чтобы открыть список параметров. Нажмите квадрат прямо под вкладкой объекта отчета для выбора всего отчета, а затем в таблице свойств на вкладке Данные выберите пункт Источник записей для выбора параметра. Задать источник данных можно, выбрав объект из списка или нажав кнопку «Построить» , чтобы открыть запрос режиме конструктора, где можно построить источник записи для запроса.
Источник записей отчета определяет, какие поля из базы данных будут отображаться в отчете. В реляционной базе данных связанные данные, как правило, хранятся в нескольких таблицах. Например, сведения о клиентах могут храниться в одной таблице, а сведения о заказах каждого из них — в другой. Отчеты — это гибкий инструмент, позволяющий собрать данные воедино и отобразить их в нужном виде, однако сначала необходимо убедиться в том, что источник записей содержит все необходимые данные. Дополнительные сведения об источнике записей отчета см. дальше в этой статье. Основные сведения об отчетах см. в статье Основные сведения об отчетах в Access.
Примечание: Данная статья неприменима к веб-приложениям Access — типу баз данных, которые создаются в Access и публикуются в Интернете. Дополнительные сведения см. в статье Создание веб-приложений Access.
В этой статье
Различные типы источников записей
Таблица
Если все необходимые поля находятся в одной таблице, можно выбрать ее в качестве источника записей для отчета. Если необходимые поля находятся в двух или нескольких таблицах, следует убедиться в том, что эти таблицы можно логически объединить по некоторому общему значению, после чего создать именованный или внедренный запрос, который будет использоваться в качестве источника записей.
Именованный запрос
Именованный запрос, обычно называемый просто запросом, — это запрос, сохраненный в виде объекта базы данных. Именованный запрос может использоваться как источник данных для нескольких форм и отчетов. Однако изменения, внесенные в именованный запрос, распространяются на все формы и отчеты, для которых он выступает источником данных. Кроме того, именованный запрос сравнительно легко удалить, а это приведет к нарушению работы связанных с ним форм и отчетов.
Внедренный запрос
Внедренный запрос — это запрос, хранящийся в свойстве отчета «Источник записей». Поскольку внедренный запрос не является отдельным объектом, его сложно случайно удалить или изменить, нарушив таким образом работу отчета. Внедренный запрос рекомендуется создавать в том случае, если он будет использоваться только с конкретным отчетом (другими словами, запрос не будет совместно использоваться несколькими объектами).
Внедренные запросы создаются по умолчанию при использовании инструментов Конструктор отчетов, Пустой отчет и Наклейки, описанных в следующем разделе. Внедренные запросы также создаются мастером отчетов, если пользователь выбирает данные для отчета из нескольких таблиц. Если выбраны данные только из одной таблицы, мастер отчетов связывает отчет непосредственно с этой таблицей.
Внедренный запрос также можно создать, скопировав инструкцию SQL из именованного запроса, открытого в режиме SQL, и вставив ее в свойство отчета «Источник записей». Чтобы открыть именованный запрос в режиме SQL, выполните указанные ниже действия.
-
Щелкните правой кнопкой мыши запрос в области навигации и выберите команду Конструктор.
-
На вкладке Конструктор в группе Результаты выберите команду Режим, а затем — пункт SQL.
Создание источников записей с помощью инструментов для работы с отчетами
Чтобы создать отчет в Access, достаточно выбрать один из инструментов на вкладке Создание в группе Отчеты. В зависимости от того, как используются эти инструменты, каждый из них создает источник записей одного из трех описанных выше типов.
В приведенной ниже таблице описаны механизмы работы каждого инструмента и указано, какие источники записей создаются по умолчанию.
Инструмент |
Описание |
Тип источника записей по умолчанию |
---|---|---|
Отчет |
Создает простой табличный отчет, в источнике записей которого содержатся все поля. |
Таблица или именованный запрос, выбранный в области навигации перед запуском инструмента. |
Конструктор отчетов |
Открывает пустой отчет в конструкторе, где можно вставить в него необходимые поля и элементы управления. |
Внедренный запрос, если поля помещены в отчет путем перетаскивания из области задач «Список полей». Также можно выбрать таблицу или именованный запрос из раскрывающегося списка «Источник записей» на странице свойств. |
Пустой отчет |
Открывает пустой отчет в режиме макета и отображает область задач «Список полей». При перетаскивании в отчет полей из списка полей в приложении Access создается внедренный запрос, который сохраняется в свойстве отчета «Источник записей». |
Внедренный запрос, если поля помещены в отчет путем перетаскивания из области задач «Список полей». Также можно выбрать таблицу или именованный запрос из раскрывающегося списка «Источник записей» на странице свойств. |
Мастер отчетов |
Пошаговый мастер, с помощью которого можно выбрать поля и задать уровни группировки и сортировки, а также параметры макета. Мастер создает отчет на основе выбранных пользователем параметров. |
Внедренный запрос, если пользователь выбирает поля из двух или нескольких таблиц. Если выбраны поля из одной таблицы, она используется приложением Access в качестве источника записей. |
Наклейки |
Вызывает мастер, в котором можно выбрать стандартный или настраиваемый размер подписей, набор отображаемых полей и порядок их сортировки. Мастер создает отчет с надписями на основе выбранных пользователем параметров. |
Таблица или именованный запрос, выбранный перед запуском инструмента. |
Примечание: С помощью инструментов Конструктор отчетов, Мастер отчетов и Наклейки создаются «клиентские» отчеты, несовместимые с веб-базами данных. Дополнительные сведения о веб-базах данных см. в статье Редактирование или публикация веб-базы данных на узле SharePoint.
Работа с источниками записей
Преобразование источника записей во внедренный запрос
Любой отчет, привязанный к таблице или именованному запросу, можно изменить таким образом, чтобы он был привязан не к этим объектам, а к внедренному запросу. Как упоминалось выше, это облегчает обслуживание базы данных благодаря тому, что отчеты становятся более автономными и менее зависимыми от других объектов. В зависимости от типа источника записей воспользуйтесь одним из указанных ниже способов, чтобы преобразовать его во внедренный запрос.
Способ 1. Кнопка «Построить»
Если в качестве значения свойства «Источник записей» задано имя таблицы, то для создания внедренного запроса достаточно нажать кнопку «Построить» в поле этого свойства.
-
В области навигации щелкните правой кнопкой мыши отчет, который необходимо изменить, и выберите пункт Режим макета.
-
Щелкните правой кнопкой мыши в любом месте отчета и выберите пункт Свойства отчета.
-
На вкладке Все щелкните в поле свойства Источник записей , а затем нажмите кнопку Сборка .
-
В приложении Access будет предложено подтвердить создание запроса на основе таблицы. Нажмите кнопку Да.
Access открывает построитель запросов и добавляет таблицу, которая изначально находилась в свойстве Control Source. -
Добавьте поля в сетку запросов, дважды щелкнув каждое нужное имя поля в отчете. Это необходимо сделать для всех полей, которые должны отображаться в отчете.
-
Чтобы добавить поля из связанных таблиц или запросов, выполните указанные ниже действия.
-
На вкладке Конструктор в группе Настройка запросов щелкните Добавить таблицы (показать таблицу в Access).
-
Выберите таблицу или запрос, которые нужно добавить.
-
Убедитесь в том, что добавляемые таблицы и запросы могут быть логически объединены. Например, поле «Код» в таблице «Клиент» может соответствовать полю «КодКлиента» в таблице «Заказы». Чтобы создать линию соединения, перетащите имя поля из одной таблицы или запроса на имя поля в другой таблице или запросе.Общие сведения о запросах.
Дополнительные сведения о создании запросов см. в статье -
Добавьте поля в сетку запросов, дважды щелкнув каждое нужное имя поля в отчете. Это необходимо сделать для всех полей, которые должны отображаться в отчете.
-
-
Чтобы проверить, как работает запрос, выполните указанные ниже действия.
-
На вкладке Конструктор в группе Результаты выберите команду Режим, а затем — Режим таблицы.
-
Чтобы вернуться в конструктор, на вкладке Конструктор в группе Результаты выберите команду Режим, а затем — Конструктор.
-
-
Если запрос правильно возвращает данные, которые должны отображаться в отчете, на вкладке Конструктор в группе Закрытие выберите команду Закрыть.
-
Чтобы сохранить изменения, внесенные в инструкцию SQL, и обновить значение свойства, нажмите кнопку Да.
Примечание: Если новый запрос содержит не все поля, используемые в отчете, в приложении Access будет предложено задать значение параметра для каждого отсутствующего поля. Можно либо удалить ссылку на поле в отчете, либо добавить в запрос недостающие поля, воспользовавшись процедурой, описанной в разделе Редактирование внедренного запроса.
Способ 2. Добавление поля из связанной таблицы с помощью списка полей
-
В области навигации щелкните правой кнопкой мыши отчет, который необходимо изменить, и выберите пункт Режим макета.
-
Если область задач «Список полей» не отображается, на вкладке Конструктор в группе Сервис выберите команду Добавить поля.
-
Если в верхней части списка полей есть ссылка Показать все таблицы, щелкните ее, чтобы отобразить поля в связанных и других таблицах.
-
Разверните таблицу в разделе Доступные поля в связанной таблице: и перетащите в отчет одно из полей.Редактирование внедренного запроса.
Access изменяет источник записи на внедренный запрос, содержащий добавленное поле. Можно продолжить добавлять поля аналогичным образом либо отредактировать внедренный запрос, воспользовавшись процедурой, описанной в разделе
Способ 3. Копирование и вставка SQL-кода из именованного запроса
-
В области навигации щелкните правой кнопкой мыши запрос, содержащий инструкцию SQL, которую нужно скопировать, и выберите команду Конструктор.
-
На вкладке Главная в группе Режимы выберите команду Режим, а затем — Режим SQL.
-
Скопируйте текст в области SQL и закройте запрос, не сохраняя его.
-
В области навигации щелкните правой кнопкой мыши отчет, в который необходимо добавить внедренный запрос, и выберите пункт Режим макета.
-
Чтобы открыть страницу свойств, нажмите клавишу F4.
-
На вкладке Все выделите текст в свойстве Источник записей и нажмите сочетание клавиш CTRL+P, чтобы вставить в поле свойства SQL-код.
Примечание: Если новый запрос содержит не все поля, используемые в отчете, в приложении Access будет предложено задать значение параметра для каждого отсутствующего поля. Можно либо удалить ссылку на поле в отчете, либо добавить в запрос недостающие поля, воспользовавшись процедурой, описанной в разделе Редактирование внедренного запроса.
Способ 4. Копирование и вставка SQL-кода из другой формы или отчета
Внедренный запрос можно скопировать непосредственно из свойства «Источник записей» одного объекта в соответствующее свойство другого. Таким образом, если другая форма или отчет содержат внедренный запрос, возвращающий необходимые данные, можно просто повторно использовать его в новом отчете.
-
В области навигации щелкните правой кнопкой мыши форму или отчет, содержащие внедренную инструкцию SQL, которую нужно скопировать, и выберите команду Режим макета.
-
Щелкните правой кнопкой мыши в любом месте формы или отчета и выберите пункт Свойства формы или Свойства отчета.
-
На вкладке Все выделите целиком инструкцию SQL в поле свойства Источник записей и скопируйте текст, нажав сочетание клавиш CTRL+C.
-
Закройте форму или отчет без сохранения.
-
В области навигации щелкните правой кнопкой мыши отчет, в который необходимо добавить внедренный запрос, и выберите пункт Режим макета.
-
Щелкните правой кнопкой мыши в любом месте отчета и выберите пункт Свойства отчета.
-
На вкладке Все выделите текст в свойстве Источник записей и нажмите сочетание клавиш CTRL+P, чтобы вставить в поле свойства SQL-код.
Примечание: Если новый запрос содержит не все поля, используемые в отчете, в приложении Access будет предложено задать значение параметра для каждого отсутствующего поля. Можно либо удалить ссылку на поле в отчете, либо добавить в запрос недостающие поля, воспользовавшись процедурой «Редактирование внедренного запроса» для добавления отсутствующих полей в запрос.
Редактирование внедренного запроса
По мере роста базы данных может потребоваться внести изменения в источник записей отчета, например добавить в отчет поля. Чтобы открыть источник записей в построителе запросов, воспользуйтесь описанной ниже процедурой.
-
В области навигации щелкните правой кнопкой мыши отчет, содержащий внедренный запрос, который необходимо изменить, и выберите пункт Режим макета.
-
Щелкните правой кнопкой мыши в любом месте отчета и выберите пункт Свойства отчета.
-
На вкладке Все щелкните в поле свойства Источник записи , а затем нажмите кнопку Сборка .
Access открывает запрос в построителе запросов. -
Внесите в запрос необходимые изменения и выберите на вкладке Конструктор в группе Закрытие команду Закрыть.
-
Чтобы сохранить изменения и обновить свойство, нажмите кнопку Да.
Access закрывает построитель запросов. Все изменения, внесенные в построителе запросов, будут отражены в инструкции SQL в свойстве Источник записей.
Дополнительные сведения о создании запросов см. в статье Знакомство с запросами.
Сохранение внедренного запроса в виде именованного запроса
Внедренный запрос, используемый в качестве источника записей для отчета, может оказаться полезным для других целей. В этом случае его можно сохранить в виде именованного запроса, который будет доступен для других объектов.
-
В области навигации щелкните правой кнопкой мыши отчет, содержащий внедренный запрос, и выберите пункт Режим макета.
-
Щелкните правой кнопкой мыши в любом месте отчета и выберите пункт Свойства отчета.
-
На вкладке Все щелкните в поле свойства Источник записи , а затем нажмите кнопку Сборка .
Access открывает запрос в построителе запросов. -
На вкладке Конструктор в группе Закрытие выберите команду Сохранить как.
-
В диалоговом окне Сохранение введите имя запроса в верхнее поле и нажмите кнопку ОК.
Access сохраняет запрос как именованный запрос в области навигации.
-
На вкладке Конструктор в группе Закрытие выберите команду Закрыть.
Access спрашивает, хотите ли вы сохранить изменения, внесенные во внедренный запрос, даже если вы не вносили никаких изменений. В большинстве случаев следует нажать кнопку Нет, чтобы просто закрыть построитель запросов. Если же были внесены изменения, которые необходимо отразить во внедренном запросе отчета, нажмите кнопку Да.