Добавлен: 19.10.2018

Просмотров: 7962

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

41 

осуществляется  стандартным  для  Windows-систем  способом  (нажать  клавишу 
SHIFT  для  выделения  полей,  расположенных  друг  за  другом,  и,  удерживая  ее, 
выбрать первое и последнее поле набора; выбирать поля при нажатой клавише 
CTRL для полей, располагающихся в  произвольном  порядке  не  подряд  друг за 
другом).  

Не  все  поля,  которые  используются  при  формировании  запроса,  должны 

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

Поля,  выводимые  в  ответ,  указываются  в  строке  конструктора  запроса 

Вывод на экран”. В соответствующих колонках этой строки указывается знак 
вхождения поля в ответ (“v” - “галочка”).  

Можно перенести в бланк запроса одновременно все поля. Для этого надо 

установить  указатель  на  заголовок  списка  полей  и  дважды  щелкнуть  кнопкой 
мыши  или  установить  указатель  на  символ  звездочки  (*)  и  нажать  кнопку 
мыши.  

 

 

 

Рис. 2.3. Использование «*» в запросе  


background image

 

42 

Есть  разница,  как  поля  были  введены  в  запрос.  При  использовании 

символа звездочки в запрос автоматически включаются все поля, добавленные в 
базовую  таблицу/запрос  после  создания  данного  запроса.  Все  удаленные  поля 
будут  автоматически  удаляться  из  запроса.  С  одной  стороны  –  это  хорошо,  с 
другой  –  может  случиться,  что  пользователь  в  ответ  на  один  и  тот  же  запрос 
будет  получать  разный  ответ,  и,  вполне  может  быть,  не  тот,  который  он 
ожидает.  Так,  например,  если  в  таблице  “СОТРУДНИК”  первоначально 
фиксировались  только  основные  данные  по  сотруднику,  а  затем  было  введено 
много других полей, то совсем не обязательно, что пользователь захочет видеть 
все эти данные, в ответ на свой запрос.  

Если  же  поле,  включенное в  запрос  явным способом,  было  впоследствии 

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

Так  как  поля,  включенные  в  запрос  путем  использования  “*”,  в  явном 

виде  в  бланке  запроса  не  высвечиваются,  то  те  поля,  которые  используются  в 
условии отбора, надо дополнительно включить в бланк запроса. Чтобы эти поля 
дважды  не  выводились  в  ответ,  надо  у  этих  полей  снять  флажок  «Вывод  на 
экран
»  (рис.  2.3).  Изображенный  на  рис.  2.3  запрос  реализует  вывод  всех 
данных,  содержащихся  в  таблице  «СО-ТРУДНИК»,  по  сотруднику  Диго  С.М., 
причем  поле  "ФИО"  выводится  в  ответе  только  один  раз,  так  как  снят  флажок 
"v"  в  колонке  «ФИО».  Изображенный  на  рис.  2.3  запрос  реализует  вывод  всех 
данных,  содержащихся  в  таблице  «СОТРУДНИК»,  по  сотруднику  Диго  С.М., 
причем  поле  "ФИО"  выводится  в  ответе  только  один  раз,  так  как  снят  флажок 
"v" в колонке «ФИО».  

Обобщая выше сказанное можно сделать вывод: поля включаются в бланк 

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

 

2.1.4 Задание условий отбора 

 

Естественно,  что  при  создании  запросов  важнейшим  моментом  является 

задание условий отбора. В предыдущем примере мы уже использовали условие 
отбора  для  получения  информации  по  одному  конкретному  сотруднику.  Язык 
QBE,  реализованный  в  СУБД  Access,  относится  к  классу  табличных 
двухмерных  языков.  Условие  отбора  необходимо  задавать  в  таблице  бланка 
запроса  в  той  графе,  к  которой  относится  данное  условие.  На  рис.  2.3  такое 
условие задано в графе ФИО.  

Различают  несколько  типов  запросов:  запрос  на  выборку  (Select), 

перекрестный  запрос  (Crosstab),  создание  таблицы  (Make-table),  запрос  на 
обновление  (Update),  добавление  (Append),  удаление  (Delete).  Более  подробно 
создание запросов разных типов будет рассмотрено чуть позднее.  


background image

 

43 

2.1.5 Управление выводом повторяющихся строк 

 

В  том  случае,  если  в  ответ  выводятся  не  все  поля  исходной  таблицы, 

может  случиться,  что  строки  в  ответе  будут  повторяться.  Например,  если 
вывести  только  список  кафедр  из  таблицы  "СОТРУДНИК",  то  наименования 
одних  и  тех  же  кафедр  могут  встречаться  несколько  раз.  Для  того  чтобы 
управлять  выводом  повторяющихся  строк,  можно  позиционироваться  на 
произвольное место вне бланка запроса и списка полей, нажать правую кнопку 
мыши,  и  в  появившемся  контекстном  меню  (рис.  2.4)  выбрать  строку 
Свойства” (либо выбрать соответствующую кнопку на панели инструментов).  

 

 

 

Рис. 2.4. Контекстное меню поля в запросе  


background image

 

44 

 

 

Рис. 2.5. Свойства запроса  

 
Среди  свойств  запроса  (рис.  2.5)  есть  два:  «Уникальные  записи»  и 

«Уникальные  значения»,  которые  служат  указанным  целям.  Если  вы  хотите, 
чтобы  в  ответ  выдавался  список  кафедр  без  повторов,  задайте  для  свойства 
«Уникальные значения» значение “Да”.  

 

2.1.6 Просмотр результатов выполнения запроса 

 

Для  того  чтобы  посмотреть  ответ  можно  щелкнуть  мышью  на  кнопке 

«Запуск»  (“!”)  на  панели  инструментов,  либо  выбрать  соответствующую 
возможность  из  меню  «Запрос/Запуск»,  либо  щелкнуть  на  стрелку  на  кнопке 
“Вид”  и  выбрать  из  появившегося  списка  вид  «Режим  таблицы».  Для  того 
чтобы  опять  вернуться  к  построению/корректировке  запроса,  надо  выбрать 
режим «Конструктор» (рис. 2.6).  


background image

 

45 

 

 

Рис. 2.6. Переключение режимов 

 

2.1.7 Сохранение описания запроса 

 

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

можно  сделать  несколькими  способами,  например,  выбирая  позиции  меню 
«Файл/Закрыть»,  ответив  «ДА»  на  вопрос  о  сохранении  файла  и  задав  после 
этого  имя запроса. Сохраненный  запрос  можно  впоследствии «открывать», что 
означает  его  выполнение.  Сохраненный  запрос  может  быть  скорректирован, 
если открыть его в режиме конструктора.  

 

2.2 Виды запросов. Особенности создания 

 

Наиболее  часто  используемым  типом  запросов  является  запрос  на 

выборку. Именно с них мы и начнем изучение возможностей задания запросов в 
Access.  

2.2.1 Простые запросы 

 

Запросы  с  простыми  условиями,  включающими  только  один  аргумент 

поиска,  будем  коротко  называть  простым  запросом.  При  создании  простого 
запроса  условие  отбора  записывается  в  соответствующий  столбец  бланка 
запроса. Например, если надо отобрать информацию о конкретном сотруднике, 
то  в  столбец  “ФИО”  в  строке  “условие  отбора”  надо  записать  ФИО  данного 
сотрудника (рис. 2. 3).