Сортировка и группировка в access. Сортировка записей по тексту, числовому значению или значениям дат. Сортировка записей в представлении

Сортировка и группировка в access. Сортировка записей по тексту, числовому значению или значениям дат. Сортировка записей в представлении

16.09.2023

Сортировка, поиск и фильтрация данных

Данные, которые хранятся в таблицах базы данных, могут быть эффективно использованы только при условии если существуют простые и доступные средства поиска нужной информации. Таблицы могут содержать огромное число записей, и хорошая СУБД должна обеспечить возможность быстро и легко найти и отобрать среди них нужные. Access 2002 является в этом отношении примером того, как можно при выполнении этих операций обеспечить максимальное удобство для пользователей и в то же время эффективность обработки больших объемов данных.

Операция сортировки данных используется всегда для удобства нахождения нужной информации. Когда на экране (или на бумаге) отображается таблица, гораздо легче найти нужную строку, если эти строки упорядочены. Вы привыкли к тому, что табличные данные упорядочены по алфавиту, по дате, по увеличению или уменьшению значений в столбцах, содержащих числа. Но в разных ситуациях мы хотели бы сортировать строки по разным признакам (столбцам таблицы). В идеале это должно выполняться легким движением руки. Именно так и позволяет делать Access. По умолчанию, когда таблица открывается в режиме Таблицы, она упорядочивается по значению ключевого поля. Если ключевое поле для таблицы не определено, записи выводятся в порядке их ввода в таблицу. Если нужно отсортировать записи по значению другого поля, достаточно установить курсор на любую строку соответствующего столбца и нажать одну из кнопок на панели инструментов:Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending).

Другой способ выполнения этой операции: щелкнуть правой кнопкой мыши по любой строке нужного столбца и выбрать из контекстного меню (рис. 1) соответствующую команду.

Таким образом, можно упорядочить записи по любому столбцу таблицы. Ограничения существуют только на тип данных, которые можно упорядочивать - нельзя сортировать значения полей типа MEMO, гиперссылки или объекты OLE.

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

· При сортировке в возрастающем порядке записи, содержащие пустые поля (с пустыми значениями), указываются в списке первыми.

· Числа, находящиеся в текстовых полях, сортируются как строки символов, а не как числовые значения. Если нужно отсортировать их в числовом порядке, все текстовые строки должны содержать одинаковое количество символов. Если строка содержит меньшее количество символов, то сначала нужно вставить незначащие нули.

· При сохранении таблицы сохраняется и порядок ее сортировки.

Рис. 1.

Замечание

Порядок сортировки зависит от настроек языка, определенных в диалоговом окне Параметры (Options) при создании базы данных. Чтобы изменить эту настройку, необходимо выбрать в меню Сервис (Tools) команду Параметры (Options), открыть вкладку Общие (General) и в поле Порядок сортировки базы данных(New database sort order) выбрать нужный язык.

Если вы изменили порядок сортировки записей в таблице, а потом решили ее закрыть, Access запрашивает, хотите ли вы сохранить изменения макета. Если вы ответите Да(Yes), то новый порядок сортировки сохранится и воспроизведется, когда таблица будет открыта в следующий раз. Для того чтобы вернуться к первоначальному порядку сортировки (по значению ключевого поля), необходимо выполнить команду меню Записи, Удалить фильтр (Records, Remove Filter/Sort).

Иногда нужно выполнить сортировку по значению нескольких полей. Для этого переместите сначала сортируемые столбцы таким образом, чтобы они оказались, во-первых, рядом, а во-вторых, с учетом приоритетов, - приоритеты устанавливаются слева направо, т. к. первыми будут сортироваться значения в крайнем левом столбце. После этого нужно выделить все столбцы и нажать, соответственно, кнопку Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending) на панели инструментов.

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

Фильтр по выделению

1. Запустите Microsoft Access, а затем откройте базу данных

2. В поле формы, подчиненной формы, таблицы или подтаблица, выберите один экземпляр значение, которое требуется отфильтровать по (Например, имя или номер).

3. На Записей Выберите пункт Фильтр, а затем нажмите кнопку Фильтр по выделению.

4. Повторите шаги 2 и 3, пока не будет иметь набор записей Вы ищете.

ПРИМЕЧАНИЕ: Можно также фильтровать записи, которые не имеют определенное значение. После выбора значения, щелкните правой кнопкой мыши и выберите команду Фильтр с исключением выделенного.

Фильтр по форме

1. Откройте форму в режиме формы или таблицы, запроса или формы в

Представление таблицы данных. Фильтрация записей в подтаблице отображения подтаблицы щелкнув его индикатор развертывания.

2. На Записей Выберите пункт Фильтр, а затем нажмите кнопку Фильтр по форме Чтобы перейти в окно обычного фильтра.

Можно задать условия для формы, подчиненной формы основную таблицу или любой подчиненной таблицы, отображается. Каждую подчиненную форму или подтаблицы имеет свои собственные Искать и Или вкладки.

1. Выберите поле для указания критерии.

2. Введите условие отбора, выбрав значение, которое вы Поиск в списке значений поля (если список содержит значения полей), или введите значение в поле.

3. Чтобы найти записи, в котором определенное поле имеет тип пустые или непустые, Имеет значение Null -или-Не пусто в поле.

4. Чтобы указать дополнительные значения, содержащие записи в фильтр, нажмите кнопку Или вкладки формы, подчиненной формы, таблицы или подтаблицы что фильтрации, а затем введите дополнительные условия.

5. На Фильтр меню, нажмите кнопку Применение фильтра чтобы просмотреть результаты фильтрации.

Фильтр для ввода данных

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

2. Щелкните правой кнопкой мыши в поле в форме, подчиненной форме, в режиме таблицы или подтаблицы фильтрации и введите значение что вы ищете Для фильтрации окно контекстного меню.

3. Нажмите клавишу ВВОД, чтобы применить фильтр, а затем закройте контекстное меню.

Расширенный фильтр

1. Откройте форму в режиме формы или таблицы, запроса или формы в Представление таблицы данных.

2. Щелкните в форме, подчиненной формы, таблицы, или подтаблица, который требуется отфильтровать.

3. На Записей Выберите пункт Фильтр, а затем нажмите кнопку Расширенный фильтр.

4. Добавьте поля, которые необходимо указать значения или другие критерии, которые будут использовать фильтр для поиска записей в структуре Сетка.

5. Чтобы указать порядок сортировки, щелкните Сортировка для поля в ячейке, нажмите кнопку со стрелкой и выберите порядок сортировки. Microsoft Access сначала выполняет сортировку крайнего левого поля в бланке запроса, а затем Сортировка следующее поле вправо и т. д.

6. В Условия для полей, которые включены, введите значение в ячейке, При поиске или введите выражение.

7. На Фильтр меню, нажмите кнопку Применение фильтра чтобы просмотреть результаты фильтрации.

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

Access упрощает работу над отчетами с группировкой. Вы можете создать простой отчет с группировкой при помощи мастера отчетов, добавить группировку или сортировку в уже созданный отчет, а также изменить уже заданные параметры группировки или сортировки.

Примечание: Статья неприменима к веб-приложениям Access - новому типу баз данных, которые создаются в Access и публикуются в Интернете.

В этой статье

Создание краткого отчета с группировкой или сортировкой

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

Создание отчета с группировкой при помощи мастера отчетов

Мастер отчетов задает вам вопросы и на основе ответов создает отчет. В одном из них упоминаются поля, по которым нужно выполнить группировку в отчете. После создания отчета вы можете использовать его в готовом виде или изменить в соответствии со своими потребностями. Прежде чем запускать мастер отчета, определитесь с выбором источника данных.

Запуск мастера отчетов

Группировка записей при помощи мастера отчетов

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

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


Сортировка записей и подведение итогов по ним

Вы можете сортировать записи в порядке возрастания или убывания по 1–4 полям.


С помощью кнопок навигации в нижней части области просмотра вы можете последовательно просматривать страницы отчета или перейти к любой его странице. Нажмите одну из кнопок навигации или введите номер нужной страницы в поле ввода номера страницы, а затем нажмите клавишу ВВОД.

В режиме предварительного просмотра вы можете увеличивать масштаб, чтобы просмотреть подробности, или уменьшать его, чтобы просмотреть расположение данных на странице. Щелкните один раз, когда курсор мыши будет указывать на отчет. Чтобы отменить эффект увеличения, щелкните еще раз. Вы также можете использовать элемент управления масштабом в строке состояния.

Добавление или изменение группировки и сортировки в существующем отчете

Если у вас уже есть отчет и вам нужно добавить в него сортировку или группировку, либо вам нужно изменить в нем условия сортировки или группировки, этот раздел поможет вам в этом.

Добавление группировки, сортировки и итогов

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

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

    на вкладке Конструктор в группе Группировка и итоги щелкните Группировка и сортировка .

Сортировка по одному полю

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

    В контекстном меню выберите нужный вариант сортировки. Например, чтобы выполнить сортировку текстового поля по возрастанию, щелкните Сортировка от А до Я . Чтобы выполнить сортировку числового поля в убывающем порядке, щелкните Сортировка по убыванию .

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

Сортировка по нескольким полям

Примечание: Когда вы применяете сортировку, щелкая поле в режиме макета, вы можете проводить сортировку лишь одного поля за раз. Применение сортировки к другому полю удаляет сортировку по первому полю. Это отличается от способа проведения сортировок в формах, где можно установить разнообразные порядки сортировки, щелкая каждое поле по очереди и выбирая нужный порядок сортировки. Чтобы создать уровни сортировки для нескольких полей, см. раздел .

Группировка по полю

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

    В контекстном меню выберите Группировка .

Access добавит уровень группировки и создаст заголовок группы. Если область Группировка, сортировка и итоги уже открыта, будет видно, что к полю добавилась новая строка Группировка .

Добавление итогового значения в поле

Этот параметр позволяет вычислить сумму, среднее, количество или другие статистические поля. Итоговое значение добавляется в конец отчета, а групповые итоги добавляются к группам отчета.

    Щелкните правой кнопкой любое значение в поле, по которому требуется рассчитать итоговое значение.

    Щелкните Итог .

    Выберите операцию, которую нужно выполнить: Сумма , Среднее , Число записей (чтобы посчитать все записи), Количество значений (чтобы посчитать только записи со значением данного поля), Максимум , Минимум , Стандартное отклонение или Дисперсия .

Access добавит в колонтитул отчета такой элемент управления, как вычисляемый текст, в котором подводится общий итог. Если в отчете содержатся уровни группировки, Access добавит колонтитулы групп (если их нет) и поместит итоговое значение в каждый колонтитул.

Примечание: Вы также можете добавить итоги, щелкнув поле, по которому их необходимо рассчитать, и на вкладке Конструктор в группе Группировка и итоги щелкнув Итоги .

Добавление группировки, сортировки и итогов с помощью области "Группировка, сортировка и итоги"

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

Отображение области "Сортировка, группировка и итоги"

    На вкладке Конструктор в группе Группировка и итоги щелкните Группировка и сортировка .

    Access отобразит область Группировка, сортировка и итоги .

Чтобы добавить уровень группировки или сортировки, щелкнитеДобавить группировку или Добавить сортировку .

В область Группировка, сортировка и итоги будет добавлена новая строка и отобразится список доступных полей.

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

Дополнительные сведения о создании и использовании выражений см. в статье Создание выражений .

Примечания:

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

    Вы можете назначить до десяти уровней сортировки и группировки в отчете.

Изменение параметров группировки

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


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

Интервал группировки. Эта настройка определяет способ группировки записей. Например, текстовые поля можно сгруппировать вместе по первому символу (если они начинаются на "А", "Б" и т. д.). Поля даты можно сгруппировать по дню, неделе, месяцу, кварталу или ввести свой интервал.

Итоги. Чтобы добавить итоги, щелкните этот параметр. Вы можете добавить итоги к нескольким полям, а также рассчитать несколько типов итоговых значений для одного поля.

    Итог по полю и выберите поле, по которому нужно рассчитать итоговые значения.

    Щелкните стрелку раскрывающегося списка Тип и выберите способ расчета.

    Выберите Показать общий итог , чтобы добавить общий итог в конец отчета (его колонтитул).

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

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

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

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

Чтобы добавить или изменить заголовок:

    щелкните голубой текст после надписи с заголовком ;

    появится диалоговое окно Масштаб ;

    введите новый заголовок в диалоговом окне, а затем нажмите ОК .

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

С разделом/без раздела примечания. Используйте этот параметр, чтобы добавить или удалить раздел колонтитулов после каждой группы. Прежде чем удалить раздел колонтитулов, содержащий элементы управления, Access попросит вас о подтверждении.

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

    Не удерживать группу на одной странице. Используйте этот параметр, если вам не важно расположение групп при разрыве страниц. Например, 10 элементов группы из 30 элементов могут располагаться внизу одной страницы и остальные 20 вверху следующей страницы.

    Удерживать группу на одной странице. Этот параметр помогает свести к минимуму число разрывов страниц в группе. Если группа не помещается на оставшемся месте одной страницы, Access оставляет это место пустым и размещает группу на следующей странице. Большие группы все же могут располагаться на нескольких страницах, но этот параметр сводит такие случаи к минимуму.

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

Изменение приоритета уровней группировки и сортировки

Чтобы изменить приоритет, щелкните строку в области Группировка, сортировка и итоги , а затем стрелку вверх или вниз справа строки.

Удаление уровней группировки и сортировки

Чтобы удалить уровень, в области Группировка, сортировка и итоги выберите строку, которую вы хотите удалить, а затем нажмите клавишу DELETE или кнопку Удалить справа от строки. При удалении уровня группировки, если заголовок группы или колонтитул содержали поле группировки, Access переместит его в раздел подробностей отчета. Все другие элементы управления удаляются.

Создание сводного отчета (без сведений о записях)

Если вы хотите показать только итоги (данные в строках заголовка и колонтитулов), на вкладке Конструктор в группе Группировка и итоги щелкните Скрыть подробности . Тем самым вы скроете записи следующего нижнего уровня группировки, и итоговые данные будут отображаться более компактно. Несмотря на то, что записи скрыты, элементы управления в скрытом разделе не удаляются. Щелкните Скрыть подробности еще раз, чтобы вернуть строки подробностей в отчет.

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

При поиске некоторого значения Access находит и отображает соответствующую запись Но если заданному критерию удовлетворяет несколько записей, то для удобства работы возникает необходимость отобразить на экране только их С помощью кнопок сортировки и фильтрации, находящихся на панели инструментов (или команд Фильтр (Filter) и Сортировка (Sort) из меню Записи (Records)), можно отобразить на экране только необходимые для работы записи, а также быстро отсортировать их в нужном порядке Для сортировки всей таблицы используются две кнопки сортировки, а для выбора определенных записей - три кнопки фильтрации

Быстрая сортировка

Иногда необходимо отсортировать записи в определенной последовательности Кнопки сортировки панели инструментов позволяют сортировать столбцы по возрастанию или по убыванию Сначала выберите поля для сортировки, а затем щелкните на кнопке Сортировка по возрастанию (А-Я) (Sort Ascending (A-Z)) или Сортировка по убыванию (Я-А) (Sort Descending (Z-A))

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

Если вы хотите сортировать данные по нескольким полям, выделите несколько столбцов Для этого сначала выделите один столбец, а затем нажмите клавишу и перетащите курсор (Таким образом выделяются смежные столбцы) При этом записи таблицы отсортируются сначала по первому столбцу, затем по второму и т д Если же нужно выделить несмежные столбцы, то, как уже упоминалось выше, их нужно переместить, чтобы они располагались рядом

Чтобы восстановить первоначальный порядок расположения записей, воспользуйтесь командой Записи^Удалить фильтр (Records^Remove Filter/Sort)

Фильтрация

Фильтрация позволяет просмотреть в форме только определенные записи. Выберите данные, по которым следует провести отбор, и нажмите кнопку Фильтр по выделенному на панели инструментов. Для того, чтобы поправить фильтр, нажмите кнопку Изменить фильтр. Чтобы задать более подробное условие для фильтрации, выберите в меню Записи команду Фильтр и подкоманду Расширенный фильтр. Для применения обычного или расширенного фильтра, нажмите кнопку Применить фильтр на панели инструментов.

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

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

Запросы

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

При создании таблицы с помощью MS Access можно заметить, что программа не разрешает использовать вычисляемые поля. Не существует также возможности выполнить сортировку не по первичному ключу.

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

При выполнении запроса MS Access считывает данные из таблиц и отображает результат выполнения в режиме таблицы. При этом следует учитывать, что результат выполнения запроса не сохраняется. Данные всегда хранятся в таблицах. В запросе MS Access хранит только инструкции о том, как должны быть организованы данные в результате выполнения запроса.

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

Сортировка записей таблицы

В таблице данные всегда отсортированы по первичному ключу. Чтобы организовать другой способ сортировки данных, используется запрос. Для создания такого запроса в окне базы данных следует выбрать пиктограммуТАБЛИЦА” и указать таблицу, которую необходимо отсортировать. Выбор пиктограммыНОВЫЙ ЗАПРОС”, расположенной на панели инструментов, приводит к открытию диалогового окна для создания нового запроса для указанной в окне базы данных таблице. В результате выбора пиктограммыНОВЫЙ ЗАПРОС” в диалоговом окне отображается список всех имен полей исходной таблицы, в начале которого расположен символ " * ". Отбуксируйте звездочку в бланк запроса QBE. Она является символом-заменителем всех полей данных. Кроме того, отбуксируйте в бланк запроса то поле данных, по которому должна быть проведена сортировка.

Для этого поля из списка "Сортировка" выберите способ сортировки. Выберите пиктограмму “ВЫПОЛНИТЬ”и MS Access отобразит на экране результат запроса, отображаемый в режиме таблицы, данные в котором отсортированы требуемым образом.

Запросы с критериями поиска

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

Для составления запроса следует перейти в окно базы данных, выбрать пиктограмму “ЗАПРОС” и нажать кнопку "Создать", а затем кнопку "Новый запрос". В следующем окне диалога следует выбрать одну из таблиц БД и нажать кнопку "Добавить", MS Access поместит в окно запроса список полей указанной таблицы. Теперь можно выбрать одно или несколько полей и отбуксировать их в бланк запроса QBE.

Встроке"Условие отбора" можно ввести теперь критерии выбора. Для обозначения произвольного количества символов используйте в качестве символа-заменителя звездочку (*), а для обозначения одного произвольного символа знак вопроса (?). Сформулируйте критерии запроса. Например, если для текстового поля будет задан только критерий "А*", то в результате выполнения запроса будут отображены только те записи, текстовое поле которых начинается с буквы "А" (или "а").

Если требуется отыскать комбинацию нескольких значений, необходимо ввести их в строку "Условие отбора", употребляя в качестве разделителя логические операторы AND и OR. Кроме обычных операторов сравнения, MS Access предоставляет три специальных оператора, полезных для отбора данных: BETWEEN, IN, LIKE.

Запросы с параметрами

Не всегда можно решить на этапе создания запроса, какие именно значения должен отыскивать MS Access, а иногда требуется гибкое условие отбора, которое может изменяться в зависимости от текущей ситуации. Поэтому вместо условия отбора, непосредственно вводимого в бланк QBE, можно включить в запрос параметр, и в этом случае перед выполнением запроса MS Access каждый раз будет запрашивать конкретные условия отбора.

Чтобы установить параметр необходимо ввести в строку "Условие отбора" имя или фразу, заключенную в квадратные скобки (). То, что заключено внутри квадратных скобок, MS Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса, поэтому разумно в качестве имени параметра использовать содержательную фразу. В одном запросе можно задать несколько параметров; при этом имя каждого параметра должно быть уникальным и информативным.

По умолчанию MS Access преобразует введенные в запрос параметры в текстовый тип данных. Однако, так как текстовые поля нельзя сравнивать с полями дат, тип данных для параметров необходимо установить точно. Для этого выберите команду Запрос/Параметры из меню, в результате чего MS Access откроет окно диалога "Параметры запроса". Введите параметр без квадратных скобок в диалоговое окно и выберите необходимый тип данных.

Теперь для выполнения запроса сначала необходимо ввести значение параметра, а результат запроса будет содержать только те поля, которые удовлетворяют заданному значению параметра.

Вычисляемые поля в запросах

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

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

Выражение 1: [Поле1] “оператор” [Поле2]

В квадратные скобки заключаются только имена полей. MS Access автоматически использует "Выражение 1" в качестве имени вычисленного выражения. Это имя можно изменить на более содержательное.

При построении сложных выражений MS Access предлагает использовать утилиту, называемую “Построитель выражений”. Для перехода в “Построитель выражений” необходимо щелкнуть по пустому полю в бланке QBE, а затем – по кнопке “Построить” панели инструментов.

Итоговые запросы

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

Для того чтобы составить итоговый запрос, находясь в режиме Конструктора запроса , следует выбрать пиктограмму “ГРУППОВЫЕ ОПЕРАЦИИ” или воспользоваться командой Вид/Групповые операции . В результате чего в бланке запроса появится строка "Групповая операция". Затем для соответствующего поля из списка необходимо выбрать функцию "Группировка".

Многотабличные запросы

Рассмотрев возможности запросов, основанных на одной таблице, легко организовать просмотр объединенных данных из нескольких связанных таблиц. Выбор данных из нескольких таблиц особенно полезно использовать при создании форм и отчетов.

Во-первых откройте окно Конструктора запроса и добавьте таблицы, в которых содержится необходимая информация. Если ранее с помощью команды Связи была установлена связь между таблицами, то MS Access определит это автоматически. Эта связь будет отображена в виде линии, проведенной между полями таблиц. Если связь между таблицами отсутствует, вы должны ее установить.

Далее необходимо определить параметры связи. Укажите на соединительную линию и выберите команду Вид/Параметры объединения . В результате откроется диалоговое окно, в котором предлагаются три опции для определения параметров связи.

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

Примечание: Поля главной таблицы при отношении “один-ко-многим” нельзя изменить в результате запроса, отображаемого в режиме таблицы. Кроме того, эти поля могут содержать повторяющиеся значения.

Любые запросы-выбора могут быть преобразованы в запросы создания таблицы. В этом случае создается таблица, которая содержит результат запроса, полученный в данный момент.

Перекрестные запросы

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

Представьте себе таблицу товаров, которая содержит три поля данных: "Тип", "Поставщик" и "Цена". Для каждой категории товаров требуется определить суммы цен товаров с указанием поставщика.

Поместите в окно Конструктора запроса таблицу "Товары". Затем включите строку "Групповая операция", выбрав команду Вид/Групповые операции . После этого отбуксируйте поле данных"Тип" в бланк запроса. Для этого поля выберите из списка значение "Группировка".

Во второй столбец бланка запроса отбуксируйте поле данных "Поставщик". Для этого столбца также выберите значение "Группировка".

Последним в бланк запроса отбуксируйте поле "Цена". Для этого поля выберите значение "Sum".

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

Теперь необходимо итоговый запрос преобразовать в перекрестный запрос. Для этого выберите команду Запрос/Перекрестный .

Выбор данной команды приводит к замене в бланке запроса строки "Вывод на экран" на новую строку "Перекрестная таблица". Все остальные параметры остаются без изменения. Поле "Тип" исходной таблицы будет использовано в качестве заголовка строк. Поэтому из поля списка "Перекрестная таблица" выберите элемент "Заголовок строк". Для столбца "Поставщик" выберите из списка "Перекрестная таблица" элемент "Заголовок столбцов".

Сумму цен товаров необходимо поместить в ячейках перекрестной таблицы. Поэтому для этого поля из списка "Перекрестная таблица" следует выбрать элемент "Значение".

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

Примечание: При создании перекрестной таблицы вы можете выбрать только одно поле в качестве содержимого таблицы и только одно поле в качестве заголовка столбцов. В качестве заголовков строк можно указать и несколько полей исходной таблицы.

Запросы на удаление

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

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

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

Лишь в том случае, если в результате запроса присутствуют только подлежащие удалению записи, следует преобразовать запрос-выбора в запрос на удаление.

Для этого в строке меню выберите команду Запрос/Удаление . После этого MS Access выключает в бланке запроса строки "Сортировка"и"Вывод на экран". Для запросов на удаление эти строки не нужны. Кроме того, для всех колонок бланка запроса в новой строке"Удаление" отображается текст "Условие". Однако критерии при этом не изменяются.

Если выполнить запрос выбором пиктограммы “ВЫПОЛНИТЬ”, MS Access не отобразит на экране результат выполнения запроса. Вместо него появится сообщение о том, сколько записей будет удалено в исходной таблице. Вы можете прервать процесс удаления нажатием кнопки "Отмена". Однако нажатие OK приводит к безвозвратному удалению записей, удовлетворяющих критериям запроса.

Запросы-обновления

Запрос-обновления позволяет производить обновление некоторой хранимой информации, своевременность которой истекла на текущий момент.

Сначала создайте новый запрос выбора и введите критерии для выбора изменяемых записей. Только в том случае, если результат запроса отвечает заданным требованиям, следует преобразовать его в запрос замены. Для этого выберите команду Запрос/Обновление . При этом будут выключены строки "Вывод на экран"и "Сортировка" в бланке запроса. Обе эти строки не нужны для запроса замены. Вместо них включается новая строка "Обновление". В эту строку следует ввести новые выражения для заменяемых записей. Обратите внимание, что тип данных выражения должен совпадать с типом данных поля исходной таблицы.

Сегодня мы затронем тему отчетов в Access 2003 , а точнее очень полезную и интересную возможность данного программного продукта это группировка данных в отчете. Многие используют Access в качестве клиента в связи с этим формирование и программирование отчетов в Access очень важно, но многие начинающие программисты иногда даже не подозревают, с каким мощным инструментом они работают.

Как я уже сказал, Access очень популярен, особенно в связке с MSSql, т.е. когда его используют в качестве клиента. Если Вы не знаете что такое клиент, и что такое сервер то советую ознакомиться с материалом Что такое взаимодействие Клиент-Сервер?

И сегодня мы как раз будет рассматривать пример формирования отчета в Access, который будет брать данные с сервера MSSql 2008. Как настроить access на работу с MSSql Вы должны уже знать, а если не знаете, то не беда рассмотрим это в следующих статьях, потому что тема сегодняшней статьи совсем другая, а именно группировка данных в отчете.

Мы не раз затрагивали тему Access, поэтому если Вы начинающий программист access, то для лучшего освоения сегодняшнего урока хочу порекомендовать следующий материал – Основы создания запросов в Access 2003 .

Итак, приступим, и для начала давайте разберем исходные данные, т.е. источник данных. Мы не будем использовать в качестве источника запрос или представление данную роль у нас будет играть простая таблица с данными, а именно таблица с названием test_table, со следующими данными, которые я получил с помощью запроса select :

Создание отчета в Access 2003

Для того чтобы создать отчет откройте Access в режиме конструктора перейдите на объекты «Отчеты» и жмите создать

После чего у Вас откроется конструктор отчетов, и список полей, которые есть в нашей таблице.

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

Еще для наглядности я указал тип границы полей «Сплошная». Меняется это в свойстве поля (Правой кнопкой по полю «свойства»)

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

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

Как не странно это сделать очень легко, и прибегать к редактированию источника данных совсем не нужно.

Группируем данные в отчете Access 2003

Для этого открываем в конструкторе отчета, окошко «Сортировка и группировка» выбираем там поле или поля группировки и в свойствах группы указываем показывать заголовок

Здесь мы указали, что первая группировка будет по полю otdel а вторая по полю name. И в конструкторе отчетов, после того как Вы укажите «Да» в поле показывать заголовок, у Вас сразу появятся эти самые заголовки, и Вам останется всего лишь переконструировать свой отчет, проще говоря, переставить поля таким образом, чтобы это устроил начальство, для примера я сделал следующим образом:

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

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

Это был совсем простой пример, Вы можете конструировать свои отчеты любым образом, но я думаю что теперь, Вы понимаете, что такое группировка данных в отчете Access и как ее можно использовать, надеюсь это Вам пригодится!

Лекция 15. Создание отчетов средствами MS Access

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

§ предоставляют широкие возможности для группировки и вычисления промежуточных и общих итогов для больших наборов данных;

§ отчеты могут быть использованы для получения эстетично оформленных материалов, наклеек и других документов.

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

Окно отчета и его инструменты

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

Структура отчета в режиме конструктора практически полностью соответствует структуре формы и делится на разделы, имеющие то же назначение, но некоторые свои особенности:

§ «Верхний колонтитул» и «Нижний колонтитул» позволяют выводить общую информацию для всех страниц отчета, так как печатаются вверху и внизу каждой страницы соответственно, например, название документа, нумерация страниц, дата и время и т.д. Отобразить эти разделы можно командой меню Вид – Колонтитулы .

§ «Заголовок отчета» и «Примечание отчета» Печатаются только один раз в начале отчета и в конце отчета соответственно. В заголовок включается информация, обычно помещаемая на обложке, например эмблема компании, название отчета. Если в этих разделах помещен вычисляемый элемент управления, использующий статистическую функцию Sum, то сумма рассчитывается для всего отчета. Включить эти разделы можно командой Вид - Заголовок/примечание отчета.

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

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

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

Панель элементов практически полностью аналогична панели элементов форм и в комментариях не нуждается. Отображение панели элементов, аналогично формам, управляется командой Вид - Панель элементов , либо кнопкой Панель элементов на панели инструментов.

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

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

Вычисления в отчетах

В качестве значения свойства «Данные» практически любого объекта, позволяющего выводить данные, можно задать выражения любой сложности с использованием арифметических операторов. Кроме того, в вычислениях можно использовать любые встроенные функции, а также функции, которые определены разработчиком в модуле VBA . При необходимости можно использовать построитель выражений. Чтобы указать MS Access на необходимость использования выражения, ввод выражения обязательно должен начинаться со знака равно (=).

= [Стипендия]*0,5

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

Группировка в отчетах

Отчеты, в отличие от форм, позволяют выполнять группировку. Для включения группировки в отчет, используется окно «Сортировка и группировка», которое можно вызвать командой меню Вид-Сортировка и группировка (рисунок 15.1).

Рисунок 15.1 - Окно Сортировка и группировка.

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

В первой строке столбца Поле/выражение раскрывается список полей базовой таблицы или запроса. Если начать ввод со знака (=), то можно ввести в этом столбце выражение, содержащее ссылку на любое поле базовой таблицы или запроса.

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

При группировке по текстовому полю можно начать новую группу при изменении первого или нескольких начальных символов в значениях поля. Например, чтобы образовать по одной группе для каждой буквы алфавита, необходимо определить создание новой группы при изменении первой буквы значения поля – таким образом, будет получена группа записей, в которых значения поля начинаются с букв А, Б, В и т.д.

Чтобы задать группировку по первым символам, устанавливается значение свойства «Группировка» - По первым знакам , а значение свойства Интервал определяет число начальных символов, по которым необходимо образовывать группы.

Для чисел можно установить свойство «Группировка» в значение Интервал . В этом случае свойство «Интервал» определяет диапазоны группировки. Если в свойстве «Интервал» указано значение 10, то группы будут формироваться через интервал равный 10, например: от –20 до –11, от –10 до –1, от 0 до 9, от 10 до 19, от 20 до 29 и т.д.

Для полей даты/времени можно устанавливать значения свойства «Группировка»: По годам, По кварталам, По месяцам, По неделям, По дням, По часам, По минутам . Тогда свойство «Интервал» будет указывать на количество лет, кварталов, месяцев и т.д. в интервале.

Вычисление промежуточных итогов и итогов с накоплением

Еще одна задача, которую обычно приходиться решать при составлении отчетов, - это получение итоговых величин по группам данных. Для получения промежуточных итоговых значений для групп в эти разделы можно поместить дополнительные свободные элементы управления, в которых используется выражение, построенное с применением итоговых функций: Sum, Min, Max, Avg, Count, First, Last, StDev и Var.

Выражение в разделе группы, использующее итоговую функцию, не должно ссылаться на элемент управления, размещенный в области данных, т.е. не удастся создать вычисляемое поле в области данных и сослаться на него в выражении, использующем итоговую функцию. Но возможно повторить вычисляемое выражение в итоговом поле. Например, если вычисляемое поле в области данных с именем Цена содержит выражение [Цена за единицу]*[Количество] , то в разделе примечаний группы необходимо использовать выражение Sum([Цена за единицу]*[Количество]), а не Sum([Цена]) .

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

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

Контрольные вопросы

1. В чем основное назначение отчетов?

2. Какие способы создания отчетов вы знаете?

3. Что общего и в чем различие между основными разделами форм и отчетов?

4. Как создаются вычисляемые поля?

5. Как выполняется группировка в отчетах?

6. Как вычисляются общие итоги?

7. Как вычислить итоги с накоплением?

8. Назовите механизм настройки отчетов.

Задания для самостоятельной работы

Задание 1 . Создание отчета «Читатели библиотеки» при помощи мастера, по следующему описанию:

1. В окне «Базы данных» выполните переход в категорию «Отчеты».

2. Откройте окно мастера отчетов командой «Создание отчета с помощью мастера». Откроется окно диалога «Создание отчетов» (рисунок 15.2).

3. В раскрывающемся списке «Таблицы и запросы» укажите таблицу «Читатели».

4. Из списка «Доступные поля» в список «Выбранные поля» перенесите все поля таблицы. Нажмите кнопку Далее .

5. На данном этапе предлагается выбрать уровень группировки, но группировка не планируется, поэтому просто нажимаем кнопку Далее .

6. Установим порядок сортировки по полю «ФИО», затем нажмем кнопку Далее .

7. Выберем вид отчета – табличный для продолжения нажимаем кнопку Далее .

8. Выберем стиль текста отчета – сжатый . Нажмем кнопку Далее .

9. Укажем имя отчета Читатели библиотеки и нажмем кнопку Готово . Результат создания отчета изображен на рисунке 15.3


Рисунок 15.2 – Диалоговое окно «Создание отчетов»


Рисунок 15.3 – Фрагмент отчета «Читатели библиотеки»

Задание 2. Отредактируйте отчет «Читатели библиотеки» в режиме конструктора.

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

Задание 4. Создайте отчет, предоставляющий информацию о количестве книг у каждого из читателей.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows