Павел Дубнов - Access 2002: Самоучитель стр 34.

Шрифт
Фон

Из приведенного списка вы, конечно, выберете Sum, так как вас интересует (если вы еще об этом не забыли) суммарное количество погибших. Активизировав соответствующую опцию (см. рис. 11.9), закройте окно конструктора запроса и сохраните изменения (см. рис. 11.6). Теперь следует назвать новый запрос или согласиться с именем, предлагаемым по умолчанию (это, конечно же, Запрос с порядковым номером). Под полученным именем новый запрос будет "прописан" в окне базы данных. Если вас такой вариант не устраивает, можете воспользоваться кнопкой

Access 2002: Самоучитель

Если вы теперь откроете этот запрос, то получите ответ, представленный на рис. 11.10. Здесь указано имя функции (Sum), имя активного поля (В том числе погибло) и количество погибших за весь период (5531 человек).

Павел Дубнов - Access 2002: Самоучитель

Рис. 11.10

Уже показанным раньше способом перейдем к инструкции SQL (см. рис. 11.11).

Павел Дубнов - Access 2002: Самоучитель

Рис. 11.11

По сравнению с инструкцией SQL, изображенной на рис. 11.8, здесь появился элемент – AS [Sum В том числе погибло]. Смысл его состоит в следующем. В Microsoft Access имена полей (здесь – поле В том числе погибло), указанные в режиме SQL окна запроса, используются в режиме таблицы в качестве заголовков столбцов. Чтобы вывести в режиме таблицы другие имена столбцов (в нашем примере – Sum – В том числе погибло) , следует включить в инструкцию SQL зарезервированное слово AS. Это бывает необходимо, если вы используете статистические функции в запросах, которые возвращают слишком сложные или повторяющиеся имена полей. Таким образом, рядом с исходным полем В том числе погибло появляется новое поле суммы – Sum – В том числе погибло, поэтому и требуется добавить ключевое слово AS. Что касается квадратных скобок, в которые заключены имена полей в инструкции SQL, то здесь вы имеете дело со спецификой синтаксиса Access. Если имя поля не содержит пробелов, Access автоматически помещает название в квадратные скобки, а если содержит, то может и не поставить их. Поэтому советуем на всякий случай всегда заключать имена полей в квадратные скобки.

Запросы с дополнительными условиями

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

Запросы, в которых критерием является полное значение поля

Начнем с самого простого условия. Допустим, необходимо узнать, какие фирмы из общего числа предприятий, включенных в банк данных, работают в России. Все фирмы перечислены в таблице Фирмы, и поиск по запросу будет проводиться в ее пределах (пока мы создаем только простые запросы, то есть те, что отбирают данные из одной таблицы). Как открыть окно конструктора запроса и включить в бланк конструктора нужную таблицу, вы уже знаете. Поэтому начнем сразу с открытого бланка (см. рис. 11.12).

Павел Дубнов - Access 2002: Самоучитель

Рис. 11.12

В данном примере нас будут интересовать три поля: Код страны, Название_фирмы_ и Адрес. Введите их названия в бланк запроса, как вы уже делали это раньше. Чтобы отобрать именно российские фирмы, воспользуйтесь новым элементом – критерием. Он вводится в строке бланка, которая так и называется – Условие отбора. В нашем случае критерий следует указать в единственном поле таблицы Фирмы, связанном со страной, – Код страны. Здесь вы вводите условный код России – 06 (см. рис. 11.12).

Ясно, что это не самый удобный путь: придется или запоминать коды разных стран, или тратить время на поиски в специальном справочнике. Проще будет расширить запрос, включив в него две или более таблицы. Мы обсудим такой вариант чуть позже, а сейчас обратим внимание на один существенный момент. Как вы заметили, в поле бланка запроса Условие отбора значение кода заключено в прямые кавычки – "06". Когда вы задаете в Access какое-либо символьное выражение в качестве фильтра, условия, критерия и т. д. и приводите это значение полностью, Access 2002 поставит кавычки автоматически.

Заполнив бланк запроса, закройте окно конструктора. Когда вы подтвердите выполненные действия (см. рис. 11.6), запрос будет включен во вкладку Запросы окна базы данных. Если вы теперь откроете этот запрос, на экране появится таблица, показанная на рис. 11.13. В ней перечислены фирмы, отобранные по признаку страны.

Павел Дубнов - Access 2002: Самоучитель

Рис. 11.13

Теперь посмотрим, как выглядит инструкция SQL для нашего запроса (см. рис. 11.14).

Павел Дубнов - Access 2002: Самоучитель

Рис. 11.14

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

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

Запросы, в которых критерием является неполное значение поля

Теперь усложним условие, которое нужно задать в запросе. В таблице Fiie1 собрана информация обо всех авариях, случившихся в 1994 году. Предположим, нас интересуют лишь аварии на нефтепроводах. Конечно, можно отобрать те происшествия, что по классификации БД отнесены к группе Аварии на магистральных нефтепроводах (поле Наименование ЧС). Однако нам нужны данные об авариях на всех видах нефтепроводов, а не только на магистральных.

Есть другой вариант: отбирать записи, у которых в поле Характеристика ЧЭС упоминаются нефтепроводы. Но это слово может находиться в различном контексте, использоваться в разных падежах и т. д. В качестве критерия в запросе следует задать корневую часть слова, которая остается неизменной: в данном случае "нефтепровод". (Если бы нас интересовали, например, аварии при добыче и транспортировке нефти, то пришлось бы учитывать понятия "нефтепромысел", "нефтедобыча" и др. Тогда в запросе фигурировал бы критерий "нефте".) Итак, внесем слово "нефтепровод" в знакомую строку бланка запроса – Условие отбора (см. рис. 11.15). Обратите внимание на синтаксическое оформление критерия. В отличие от предыдущего примера здесь использован фрагмент текста, то есть часть поля. Поэтому нам понадобятся, кроме прямых кавычек, еще и звездочки. Критерий будет оформлен так: "*нефтепровод*" (см. рис. 11.15). К символьной последовательности, помещенной в звездочки, Access 2002 всегда добавляет слово Подобно. Таким образом задается команда на поиск записей, содержащих подобную подстроку. Как уже говорилось, кавычки вы можете и не ставить: Access 2002 не забудет сделать это за вас. А вот звездочки – исключительно ваша забота. Если корневая часть слова, которая используется в качестве критерия, находится на левой или правой границе поля, то с этой стороны звездочку можно опустить. Но, как правило, вам неизвестно точное расположение критерия. Поэтому звездочки лучше ставить всегда.

Павел Дубнов - Access 2002: Самоучитель

Рис. 11.15

В случае, который мы сейчас рассматриваем, в запрос включены все поля записи. Это можно сделать двумя способами. Первый путь: введите в бланк запроса каждое поле по отдельности, как вы делали раньше. Второй вариант: введите в бланк все поля сразу. Открыв пустое окно запроса, дважды щелкните мышью по строке имени таблицы на ее макете, чтобы выделить в нем все поля таблицы. Затем установите указатель мыши в выделенной области и нажмите левую кнопку мыши. Не отпуская ее, перетащите стрелку указателя в строку Поле первого столбца в бланке запроса. Теперь отпустите кнопку – все поля записи будут введены в бланк.

Дайте команду на выполнение созданного запроса (как это сделать, уже обсуждалось). В результате вы получите перечень аварий на нефтепроводах (см. рис. 11.16).

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

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

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3