Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание запроса в КонструктореСодержание книги
Поиск на нашем сайте
Лучшая стартовая точка для создания запроса — режим Конструктора. Далее перечислены необходимые действия. (Для того чтобы самостоятельно попробовать создать запрос, можно использовать базу данных BoutiqueFudge.accdb, включенную в примеры к данной главе, загружаемые из Интернета.) Окончательный результат — запрос, получающий данные за 2007 г. — показан на рис. 6.6.
Рис. 6.1. Вы уже видели окно Добавление таблицы — с его помощью вы вставляли таблицы в схему данных в главе 5 Далее описано, что следует сделать. 1. Выберите Создание → Другие → Конструктор запросов (Create → Other → Query Design). Па экране появится новое окно Конструктора, в котором вы сможете создать вага запрос. Но сначала программа Access распахивает диалоговое окно Добавление таблицы (Show Table), в котором можно выбрать таблицы для обработки (рис. 6.1). 2. Выберите таблицу, содержащую нужные вам данные, и щелкните мышью кнопку Добавить (Add) (или дважды щелкните таблицу кнопкой мыши). В примере с БД Boutique Fudge вам нужна таблица Orders. Access вставляет прямоугольник, представляющий таблицу в окне Конструктора. Вы можете повторить этот шаг и вставить несколько связанных таблиц, но пока остановимся на одной. 3. Щелкните мышью кнопку Закрыть (Close). Диалоговое окно Добавление таблицы исчезает, открывая доступ в Конструктор для формирования запроса.
Рис. 6.2. Каждый двойной щелчок мышью поля в прямоугольнике таблицы заставляет программу Access добавлять это поле к списку полей в нижней части окна. Вы задаете условия отбора и сортировку для этого столбца. Если не хотите возвращать мышь в прямоугольник таблицы, можно добавить поле прямо из списка столбца, выбрав его имя из раскрывающегося списка в строке Поле
4. Выберите поля, которые хотите включить в ваш запрос. Для выбора поля в прямоугольнике таблицы щелкните поле дважды кнопкой мыши (рис. 6.2). Не включайте одно и то же поле дважды, иначе столбец будет отображаться два раза. Если вы пользуетесь примером Boutique Fudge, обязательно выберите, по крайней мере, поля ID, DatePlaced и CustomerID. Для того чтобы выбрать все поля из таблицы, можно щелкнуть дважды кнопкой мыши звездочку (*). Но в большинстве случаев лучше добавлять каждое поле отдельно. Такой способ не только помогает видеть, каков ваш запрос, но и позволяет выбрать порядок столбцов о запросе и использовать поле для сортировки и фильтрации.
Примечание Хороший запрос содержит только самые нужные поля. Чем меньше полей в запросе, тем легче сконцентрироваться на важной информации (и легче разместить распечатку на странице).
5. Расположите поля слева направо в том порядке, в каком вы хотите, чтобы они появились на экране результатов запроса. При выполнении запроса столбцы появляются в том же порядке, в каком они перечислены всписке столбцов в Конструкторе. (Обычно это означает, что столбцы выводятся слева направо в том порядке, в каком вы их добавляете.) Если вы хотите изменить порядок, то нужно переместить столбцы с помощью мыши (как показано на рис. 6.3).
Рис. 6.3. Для реорганизации столбцов перетащите с нажатой кнопкой мыши серую полоску на вершине столбца, который вы хотите перенести на новое место. Такой же способ применяется для упорядочивания столбцов на листе данных. В рассматриваемом примере поле DatePlaced перемещается в крайнее левое положение 6. Если вы хотите скрыть один или несколько столбцов, сбросьте у них флажок Вывод на экран (Show). Как правило, программа Access отображает все столбцы, добавленные в список столбцов. Но в некоторых ситуациях вам нужен столбец при обработке запроса, но отображать его данные нет никакой необходимости. Обычно так бывает, если значения столбца применяются для сортировки или фильтрации. 7. Выберите порядок сортировки. Если вы не зададите порядок сортировки, то получите записи прямо из БД в том порядке, в каком они там хранятся. Это правило обычно (но не всегда) означает, что самые ранние записи появятся первыми, в верхней части таблицы. Для явной сортировки таблицы выберите поле, которое вы хотите использовать для сортировки результатов, и затем в соответствующем поле Сортировка (Sort) задайте вариант упорядочивания. В данном примере таблица сортируется по дате в порядке убывания, поэтому самые последние заказы оказываются первыми в списке (рис. 6.4).
Рис. 6.4. Выберите вариант по возрастанию, если хотите отсортировать текстовое поле от А до Я, а числовое поле от меньшего значения к большему или поле даты от самой давней к самой свежей дате. Выберите вариант по убыванию для обратного порядка
Подсказка Вы можете сортировать по нескольким полям. Единственная хитрость заключается в том, что столбцы должны быть упорядочены таким образом, что первый сортируемый столбец выводится первым (слева) в списке столбцов. Для получения корректных результатов воспользуйтесь методом переупорядочивания столбцов, описанным в пункте 5.
8 Задайте условие фильтрации или отбора. Фильтрация (см. разд. "Фильтрация" главы 3) — это средство, позволяющее акцентировать внимание только на интересующих вас записях и игнорировать все остальные. Фильтрация или отбор урезает большой пласт данных до нужной вам информации и является сутью множества запросов. (Вы узнаете больше о создании условий фильтрации в следующем разделе.) Если вы сформировали нужное условие фильтрации, поместите его в поле Условие отбора (Criteria) соответствующего поля (рис. 6.5). В данном примере можно поместить это условие в Условие отбора поля DatePlaced таблицы для того, чтобы выбрать заказы, сделанные в течение первых трех месяцев года: >=#1/1/2007# And <=#3/31/2007# Вы можете не ограничиваться одним фильтром — на самом деле можно вставить собственное условие отбора в каждое поле. Если вы хотите использовать поле для фильтрации, но не желаете выводить его на экран в окне результата, сбросьте флажок Вывод на экран для этого ноля.
Рис. 6.5. Здесь показан фильтр, определяющий заказы, сделанные в заданном диапазоне дат (с 1 января по 1 марта в 2007 году). Учтите, что когда вы используете реальную жестко закодированную дату как часть условия (например, 1 января 2007 г. в данном примере), ее следует обрамлять символами #
9, Выберите Работа с запросами | Конструктор → Результаты → Выполнить (Query Tools | Design → Results → Run). Теперь создание запроса закончено и он готов к выполнению. Когда вы запустите запрос, то увидите результаты, представленные на листе данных (дополненные подстановками в связанных полях) и напоминающие таблицу в режиме редактирования. (На рис. 6.6 показан результат запроса к таблице Orders.) Вернуться в Конструктор можно, щелкнув правой кнопкой мыши заголовок вкладки и выбрав команду Конструктор (Design View). Рис. 6.6. Здесь представлены результаты запроса, отображающего заказы, сделанные в течение заданного временного периода. Окно листа данных можно использовать для просмотра и вывода на печать результатов или редактирования информации, так же как данных таблицы, отображенной на листе данных
Примечание Лист данных с вашим запросом приобретает те же параметры форматирования, которые вы задали на листе данных с базовой таблицей. Если вы применили ярко-розовый фон и наклонный шрифт на листе данных с таблицей Orders, те же параметры будут у всех запросов, использующих таблицу Orders. Но вы можете изменить оформление вашего запроса точно так же, как и в случае таблицы.
10. Сохраните запрос. Вы можете сохранить ваш запрос в любое время с помощью сочетания клавиш <Ctrl>+<S>. Если вы этого не сделаете, программа Access автоматически сохранит его, когда вы закроете вкладку запроса (или всю вашу БД). Конечно, вы не обязаны сохранять ваш запрос. Иногда запрос создается для конкретной решаемой один раз задачи. Если вы не планируете повторно использовать запрос, нет смысла загромождать вашу БД лишними объектами.
При первом сохранении запроса программа Access запрашивает его имя. Применяйте те же правила именования, которым вы следуете при задании имен таблиц — воздержитесь от использования пробелов и специальных символов и делайте заглавной первую букву каждого слова. Удачное имя запроса описывает представление данных, которое он формирует. Хороший выбор FirstQuarterOrders_2007 (заказы первого квартала 2007) показан на рис. 6.6.
Примечание Помните о том, что, сохраняя запрос, вы сохраняете не результаты, а структуру запроса со всеми его параметрами. В этом случае вы можете выполнить запрос в любое время и получить реальные результаты, соответствующие вашим условиям отбора.
После создания запроса вы увидите его в области переходов вашей БД (рис. 6.7). Если использовать стандартный режим отображения Все таблицы (All Tables), запрос появится под таблицей, которую он использует. Если запрос использует несколько таблиц, он появится в нескольких группах области переходов. Вы можете запустить запрос в любой момент, дважды щелкнув его кнопкой мыши. Предположим, что вы создали запрос с именем TopProducts, который захватывает все дорогие продукты из таблицы Products (с помощью условия фильтра >50 в поле Price). Если нужно просмотреть, отредактировать или напечатать информацию о дорогих товарах, вы выполняете запрос TopProducts. Для тонкой настройки параметров запроса щелкните его правой кнопкой мыши в области переходов и затем выберите режим Конструктор.
Рис. 6.7. По умолчанию в области переходов ваши запросы выводятся сразу под таблицами, которые они используют. Например, запрос TopProducts (показанный здесь) появляется под таблицей Products
Программа Access разрешает открывать одновременно таблицу и любые запросы, ее использующие. (Все они отображаются на отдельных вкладках.) Но вы не сможете изменить структуру таблицы, пока не закроете все запросы на базе этой таблицы. Если вы добавляете в таблицу записи, когда открыт запрос, новые записи не будут автоматически появляться в запросе. Вам придется повторно выполнить ваш запрос. Самый быстрый способ — выбрать последовательность Главная → Записи → Обновить → Обновить все (Home → Records → Refresh → Refresh All). Можно также закрывать запрос и снова открывать его, поскольку Access каждый раз выполняет запрос, когда вы открываете его в Режиме таблицы.
Примечание Напоминаю, запрос — это представление некоторой части данных вашей таблицы. Когда вы редактируете результаты вашего запроса, программа Access изменяет данные в базовой таблице. С другой стороны, совершенно безопасно переименовывать, изменять и удалять запросы — в конце концов, они существуют для облегчения вашей жизни.
Построение условий отбора Секрет хорошего запроса — извлечение только нужной вам информации и ничего больше. Для того чтобы сообщить программе Access, какие записи следует взять (а какие нужно игнорировать), вам понадобится условие фильтрации или отбора. Условие отбора определяет интересующие вас записи. Если нужно найти осе заказы, сделанные клиентом с номером 1032, можно применить следующее условие отбора: =1032 Для того чтобы заставить это условие действовать, необходимо поместить его в поле Условие отбора (Criteria) под полем CustomerID. В этом поле можно написать просто 1032 вместо =1032, но лучше придерживаться второй формы, поскольку этот шаблон применяется в более сложных условиях фильтрации. Они начинаются с оператора (в данном случае знака равенства), определяющего способ сравнения данных программой Access, за которым следует значение (в данном случае 1032), которое вы хотите применять для сравнения.
Примечание Если вы используете многозначное поле (см. разд. "Многозначные поля" главы 5), программа Access включает в результаты запроса запись, хотя бы одно значение которой соответствует условию отбора. Представьте себе, что таблица Classes содержит многозначное поле InstructorID (указывающее на то, что несколько преподавателей могут объединиться для ведения одного и того же учебного курса). Если написать условие =1032 в поле InstructorID, Access включает в результат любую запись, в которой преподаватель 1032 ведет класс независимо от того, назначены ли для ведения этого класса другие преподаватели.
Для тех, кто понимает. Не бойтесь подстановок
Как вы знаете, подстановки изменяют способ отображения значений на листе данных. Если добавить подстановку к полю CustomerID в таблице Orders, вы не увидите зашифрованные числа, такие как 1032. Вместо этого на экран выводятся информативные данные, например фамилия и имя Hancock, John (Хэнкок Джои). Но при создании условия отбора или фильтрации следует помнить, какие данные на самом деле хранятся в поле. Условие отбора -1032 для поля CustomerID действует корректно, а условие =Hancock, John — нет, потому что имя и фамилия хранятся отдельно. (Они содержатся в таблице Customers, а не в таблице Orders.) Порой требуется создать условие отбора, использующее связанную информацию. Например, если вы хотите найти записи в таблице Orders, используя имя и фамилию клиента вместо его идентификационного номера, поскольку этого номера у вас под рукой нет. Для этого есть две возможности: • найти нужное значение кода (ID) в таблице Customers заранее. После этого вы можете его использовать при построении запроса для таблицы Orders; • применить запрос на объединение для получения имени и фамилии из таблицы Customers и вывести их рядом с остальными подробностями заказа. Как воспользоваться этим приемом, вы узнаете в разд. "Запросы и связанные таблицы" далее в этой главе.
Если сопоставляется текст, необходимо значение заключить в кавычки. Иначе программа Access не будет знать, где начинается и заканчивается текстовый фрагмент. ="Harrington Red" Вместо поиска точного совпадения можно использовать диапазон. Добавьте следующее условие отбора в поле OrderTotal для поиска всех заказов, стоящих больше 10 и меньше 50 долларов: <50 And >10 В этом выражении на самом деле два условия (меньше 50 и больше 10), которые объединены могущественным ключевым словом And (см. разд. "Комбинирование условий на значения" главы 4). Как альтернативу можно применять ключевое слово Or, если нужны результаты, которые удовлетворяют одному из заданных вами условий. В главе 7 вы рассмотрите более мощные инструменты для построения выражений. Особенно полезны условия для дат. Но не забывайте обрамлять жестко фиксированные даты знаками # (см. разд. "Проверка допустимости дат" главы 4). Если поместить следующее условие отбора в поле DatePlaced, будут найдены асе заказы, сделанные в 2007 г.: <#1/1/2008# And >#12/31/2006# Это выражение отбирает все даты до 1 января 2008 г., но после 31 декабря 2006 г.
Подсказка Поработав чуть больше, можно создать условие фильтрации, отбирающее заказы за первые три месяца текущего года, независимо от того, какой год на дворе. Это условие требует применения функций, предоставляемых программой Access для дат.
На профессиональном уровне. Синтаксис фильтра Если фильтры кажутся хорошо знакомыми, для этого есть основания. У них тот же синтаксис, что и у правил верификации или условий на значение, которые использовались для защиты от некорректных данных (см, разд. "Правила верификации или условия па значения" главы 4). Единственное отличие — способ интерпретации условия программой Access. Например, условие на значение <50 And >10 сообщает Access о том, что значение не должно приниматься, если оно не попадает в заданный диапазон (от 10 до 50). Если же такое условие помещается в поле отбора, оно уведомляет программу Access о том, что вас не интересует отображение записей, не попавших в заданный диапазон. Благодаря такому подобию вы можете использовать все условия на значение, представленные в разд. "Запись условия па значение поля" главы 4. В главе 7 вы узнаете, как усилить условия фильтрации или отбора с помощью функций Access.
|
||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-14; просмотров: 164; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.117.52 (0.011 с.) |