Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

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

Запрос лучше создавать в режиме конструктора, так как в этом случае разработчик получает полный контроль над процессом создания. Для выполнения необходимых действий при создании запроса используются команды меню или панель инструментов «Конструктор запросов». Эта панель открывается, когда создаётся новый запрос в режиме конструктора или открывается для редактирования существующий запрос.

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

После щелчка по объекту «Запросы», а затем по кнопке «Создать» надо выделить строчку «Конструктор» и щёлкнуть по кнопке «ОК». В появившемся окне выделить те таблицы или запросы, которые будут служить источником данных для создаваемого запроса, затем щелкнуть по кнопке «Добавить» и «Закрыть».

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

Если при создании запроса будут использоваться групповые операции, то необходимо в бланк запроса добавить поле «Групповая операция» с помощью кнопки «Групповые операции».

При заполнении бланка запроса:

в строку «Поле» включаются имена используемых в запросе полей;

в строку «Имя таблицы» включаются имена таблиц, содержащих данные поля;

в строке «Групповая операция» выбирается из списка соответствующая групповая операция;

в строке «Сортировка» выбирается порядок сортировки записей результата;

в строке «Вывод на экран» устанавливаются флажки для полей, которые должны быть включены в результирующую таблицу;

в строке «Условие отбора» задаются условия отбора записей;

в строке «Или» задаются дополнительные условия отбора записей.

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

Наименование клиента Название продукта Общий вес (кг)
     

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

Поле: наименование название количество
Имя таблицы: клиенты продукты заказы
Групповая операция: группировка группировка sum
Сортировка:      
Вывод на экран:      
Условие отбора:      
Или:      

 

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

Если выполнить этот запрос, то в последнем поле вместо ожидаемого имени «Количество» будет присутствовать имя «Sum_количество» и в данных будет отображаться очень много разрядов после десятичной запятой. Чтобы ограничить количество знаков после десятичной запятой необходимо сделать следующее. В режиме конструктора необходимо в свойствах поля «Количество» установить «Формат поля» – фиксированный, а «Количество знаков после запятой» – 2.

Если необходимо, чтобы результат выполнения запроса был представлен отсортированным, то в строке «Сортировка» надо выбрать из списка одно из двух значений: либо «по возрастанию», либо «по убыванию». Ниже представлен вариант запроса, в котором наименования клиентов будут расположены в алфавитном порядке.

Поле: наименование название количество
Имя таблицы: клиенты продукты заказы
Групповая операция: группировка группировка sum
Сортировка: по возрастанию    
Вывод на экран:      
Условие отбора:      
Или:      

 

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

1. Какие объекты содержит база данных Access?

2. Что такое запрос?

3. Что может служить источником данных для запроса?

4. Каким образом можно создать запрос на выборку?

5. Как создаётся запрос на выборку в режиме конструктора?

6. Какие групповые операции можно использовать в запросе?

7. Какую роль в запросе играет групповая операция?

8. Какую роль в запросе играют условия отбора?

Лекция 20 (2 часа).

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

Запросы с условием.

Если в запросе надо отобрать записи, отвечающие определенному условию, то это условие надо записать с помощью алгебры логики в строке «Условие отбора».

В этом поле допускается использование следующих операторов: =, >, <, < =, > =, Between, In, Like, And, Or, Not.

Если выражение в условии отбора не содержит оператора, то считается, что используется оператор =.

Если условие отбора содержит текстовые значения, то оно набирается в двойных кавычках. В текстовых значениях допускается использование символов подстановки * и?. Звёздочка заменяет произвольное количество символов, а знак вопроса – только один символ. В частности, если получается, что внутри открывающих и закрывающих двойных кавычках есть другие двойные кавычки, то они заменяются на знак вопроса.

Оператор Between позволяет задать интервал для числового значения и даты. Оператор Between используется совместно с оператором And. Например, Between 10 And 60 задаёт интервал от 10 до 60.

Оператор In позволяет выполнить проверку на равенство любому значению из списка, который задаётся в круглых скобках. Например: In(“Иванов”; ”Петров”; ”Сидоров”).

Оператор Like используется для поиска в текстовых полях. Например, Like “Иванов*”.

Условия отбора, заданные в одной строке, связываются с помощью логической операции AND (И). Условия отбора, заданные в разных строках связываются с помощью логической операции OR (ИЛИ).

Например, если мы хотим получить сведения о продуктах, которые заказывали клиенты с кодами 20 и 40, то запрос может быть оформлен так:

Поле: Код клиента название
Имя таблицы: заказы продукты
Групповая операция: группировка группировка
Сортировка:    
Вывод на экран:    
Условие отбора: 20 OR 40  
Или:    

Создание запросов с параметром, вычисляемым полем, итоговый и перекрёстный

Пусть мы хотим получить сведения о закупленных продуктах клиентом с кодом 20. Можно создать запрос, указав в строке «Условие отбора» код 20. Если затем нам потребуется получить те же сведения о клиенте с кодом 40, то можно открыть предыдущий запрос в режиме конструктора и исправить код 20 на 40. Но можно поступить и по другому. Создать запрос с параметром, который перед выполнением будет спрашивать для клиента с каким кодом выдать информацию. Для этого надо в строке «Условие отбора» вместо указания конкретного кода ввести поясняющий текст в квадратных скобках. В данном случае это может быть следующее пояснение: «введите код клиента».

Поле: Код клиента название
Имя таблицы: заказы продукты
Групповая операция: группировка группировка
Сортировка:    
Вывод на экран:    
Условие отбора: [Введите код клиента]  
Или:    

Главное, чтобы текст приглашения не совпадал ни с одним именем поля и не было двух одинаковых текстов приглашения. Например, [введите код первого клиента] OR [введите код второго клиента].

Полей с параметром может быть несколько.

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

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

  Пастила фруктовая Крекер солёный Печенье Столичное
Бистро «Париж»      
Ресторан «Барракуда»      

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

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

Сначала надо щелкнуть по кнопке «Создать», выбрать строчку перекрёстный запрос и «ОК».

В появившемся окне выбрать таблицу или запрос с необходимыми данными и на кнопку «Далее».

На следующем шаге из списка доступные поля в список выбранные поля переместить поле, которое будет служить заголовками строк и «Далее».

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

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

Использование построителя выражений.

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

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

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

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

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

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

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

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

Щелчок по папке без всяких символов приводит к отображению её содержимого в среднем окне.

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

Ну и наконец, если выделить в правом окне то что хотите вставить в выражение, то останется только щёлкнуть по кнопке «Вставить».

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

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

1. Что такое запрос с условием?

2. Где в запросе указываются условия отбора?

3. Какие операторы допускается использовать в условиях отбора?

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

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

6. Какой логической операцией связываются условия отбора, записанные в разных строках?

7. Что такое запрос с параметром?

8. Как создать запрос с параметром в режиме конструктора?

9. Как в запросе создаётся вычисляемое поле?

10. Что такое перекрёстный запрос?

11. Как создать перекрёстный запрос в режиме конструктора?

12. Что такое построитель выражений?

13. Как вызвать построитель выражений в макете запроса?

14. Как пользоваться построителем выражений?

15. Где осуществляется редактирование выражения, формируемого в построителе выражений?

Лекция 21 (2 часа).

Способы создания форм. Элементы управления формы. Применение полей различных типов. Кнопочное меню.

Способы создания форм.

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

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

Для создания формы надо переключится на отображение объектов «Формы», щелкнуть по кнопке «Создать» и выделить одну из строчек: мастер форм, автоформа: в столбец, автоформа: ленточная, … и т.п. В зависимости от того, в каком виде вы хотите получить расположение полей на форме. После этого в нижней части окна из раскрывающегося списка надо выбрать имя той таблицы, для которой будет создаваться форма. Если будет выделена строка «мастер форм», то в процессе создания формы можно будет самостоятельно выбирать некоторые элементы формы, в противном случае форма будет создана автоматически.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.014 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал