- •Вопрос 1
- •Вопрос 2
- •Лекция 2 (17.02.14)
- •Вопрос 3
- •Вопрос 4
- •Концептуальная модель
- •Инфологическая модель данных "Сущность-связь"
- •Вопрос 5
- •Вопрос 6
- •Вопрос 8
- •Вопрос 9
- •Вопрос 10
- •Вопрос 11
- •Вопрос 12
- •Изменение размера текстового поля
- •Вопрос 13
- •Вопрос 14
- •Вопрос15
- •Вопрос 16
- •Вопрос 17
- •Вопрос 18
- •Вопрос 19
- •Вопрос 20
- •Вопрос 21
- •8.2. Вычисления в запросах, возможности создания и редактирования формул.
- •8.4. Использование запросов на Удаление и на Обновление.
- •Вопрос 22 Условия отбора записей
- •Вопрос 23
- •Группировка
- •Управляющие запросы
- •Создание таблицы
- •Обновление
- •Добавление
- •Удаление
- •Запрос с параметром
- •Запрос на объединение таблиц
- •Вопрос 24
- •7.1. Запрос на обновление группы записей
- •7.2. Запрос на удаление записей
- •7.3. Запрос на добавление записей
- •7.4. Запрос на создание таблицы
- •Вопрос 25
- •Вопрос 26
- •Вопрос 27
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
8.2. Вычисления в запросах, возможности создания и редактирования формул.
Для полей из указанных в схеме запроса таблиц можно указать любые вычисления. Чтобы произвести вычисления, в запрос необходимо добавить дополнителньые вычисляемые поля, значения которых рассчитываются на базе значений других полей запроса. Пример: Выше на 10%: [Наборы].[Цена]*1,1. Нужно обращать внимание, что разделителем между дробной и целой частью является запятая (лучше цифры набирать на цифровой добавочной клавиатуре, где символ «.» в вычислениях сразу однозначно интерпретируется, как символ «,».
Итоговые запросы, группировка, итоговые функции.
Итоговый запрос создается с помощью режима – Сводный запрос. Можно использовать три таблицы, включая связующую таблицу. При этом можно с любом месте запроса вызвать контекстное меню (правая кнопка мыши) и выбрать признак «групповые операции». В бланке запроса появится новая строка Группировка. Итоговые функции: в поле, по которому мы хотим посчитать итоги, выбрать из списка функцию «Sum» (сумма), чтобы просуммировать все значения выбранных полей. Функция «Подсчет» посчитает количество значений поля.
8.4. Использование запросов на Удаление и на Обновление.
Запрос на удаление позволяет удалить записи из одной или нескольких взаимосвязанных таблиц. В запросе указываются таблицы, из которых должны удаляться записи, и задаются условия отбора удаляемых записей. Первоначально Запрос на удаление создается, как запрос на выборку. Потом этот запрос в режиме Конструктора преобразуется в Запрос на удаление. И в его бланке появляется строка Удаление.
Запрос на обновление используется для обновления данных в полях таблиц. Изменения вносятся в группу записей, отбираемых по указанным условиям. Значения для изменений в полях определяются в бланке запроса в строке Обновление. Первоначально Запрос на обновление создается, как запрос на выборку. Потом этот запрос в режиме Конструктора преобразуется в Запрос на обновление. Теперь нужно в бланк запроса включить поля, которые будут обновляться, и поля для условий отбора.
Вопрос 22 Условия отбора записей
Условия отбора записей могут задаваться для одного или нескольких полей в строке Условие отбора (Criteria) бланка запроса (см. рис. 4.5).
Условием отбора является выражение, которое состоит из, операторов сравнения и операндов.
В качестве операндов выражения могут использоваться: литералы, константы, идентификаторы (ссылки).
Литералами являются конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, строковые значения, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки "#" (или одинарные кавычки (') в кодировке ANSI- 92). Например: 567, "Информатика", #1-Января-2004# ('1- Января-2004 ' В ANSI-92).
Константами являются неизменяющиеся значения, которые определены в Access, например, Истина (True), Ложь (False), Null.
Идентификатор представляет собой ссылку на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей таблиц, форм, отчетов и т.д. Они должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.
Во многих случаях ссылка на конкретное значение должна указывать точное его местоположение в иерархии объектов базы данных, начиная с объекта верхнего уровня. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, формы, отчета, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например, ссылка на поле в таблице примет ВИД: [Имя таблицы] ! [Имя поля], а ссылка насвойство DefaultValue элемента управления дата заключения договора в форме договор:
Forms![ДОГОВОР]![ Дата заключения договора].DefaultValue.
Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора, являются: =, <, >, о, <=, >=, Between, In , Like , And, Or, Not.
Они определяют операцию над одним или несколькими операндами.
Если выражение в условии отбора не содержит оператора, то по умолчанию Используется оператор = .
Текстовые значения в выражении, если они содержат пробелы или знаки препинания, вводятся в двойных кавычках. В противном случае кавычки можно не вводить, они будут добавлены автоматически.
Допускается использование операторов шаблона — звездочка (*) и вопросительный знак (?) (ANSI-89) или знак процента (%) и подчеркивания (_) (ANSI-92).
Оператор Between позволяет задать интервал для числового значения и даты. Например:
Between 10 And 100 задает интервал от 10 до 100;
Between #01.01.1997* And #31.12.2003* задает интервал дат (в ANSI-92 вместо знака "#" используются одинарные кавычки (')).
Оператор in позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например:
In("Математики";"Информатики";"Истории")
Оператор Like позволяет работать с образцами, использующими символы шаблона при поиске в текстовых полях. Например:
Like "Иванов*" (ANSI-89) или Like "Иванов%" (ANSI-92)
Логические операторы and, or, not. Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции "И", заданные в разных строках— с помощью логической операции "ИЛИ". Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов and и orсоответственно. Оператор not задает логическое отрицание условия.
После ввода выражения в бланк и нажатия клавиши <Enter> Access выполняет синтаксический анализ выражения.
Использование логических операций в условии отбора
Рассмотрим пример использования логических операций в формировании условий отбора.
Допустим, надо выбрать товары, цена которых не более 1000 руб. и НДС не более 10%, а также товары, цена которых более 2500 руб. Результат должен содержать наименование товара (НАИМ_ТОВ), его цену (цена) и НДС (СТАВКА_НДС).
Для создания запроса в режиме конструктора в окне базы данных выберем Объект Запросы (Queries) и щелкнем на значке Создание запроса в режиме конструктора(Create query in.Pesign view).
Появится окно запроса на выборку в режиме конструктора <Имя запроса>: запрос на выборку (Select Query) и диалоговое окно Добавление таблицы <...> (Show Table <...>) (см. рис. 4.4). В диалоговом окне выберем таблицу товар и нажмем кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных окна конструктора запроса на выборку (см. рис. 4.6). Закроем окно Добавление таблицы (Show Table).
Для удаления таблицы из схемы данных запроса установите на нее курсор Мыши и нажмите клавишу <Delete>. Для добавления — нажмите кнопку.
В окне конструктора запроса (см. рис. 4.6) перетащим из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС в столбцы бланка запроса в строку Поле(Field).
Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. После того как столбец выделится, нажмите клавишу <Delete>.
В строке Вывод на экран (Show) отметьте поля, иначе они не будут включены в таблицу запроса.
Условия отбора оформим, как показано в бланке запроса на рис. 4.6. Между условиями, записанными в одной строке, выполняется логическая операция and. Между условиями, записанными в разных строках, выполняется логическая операция or.
Выполним запрос, нажав на панели конструктора запросов кнопку Запуск (Run) или кнопку Вид (View). На экране появится окно запроса в режиме таблицы с записями из таблицы товар, отвечающими заданным условиям отбора.
Сохраним запрос, нажав кнопку Сохранить (Save) и задав ему имя "Пример!". Заметим, что имя запроса не должно совпадать не только с именами имеющихся запросов, но и с именами таблиц в базе данных. Закроем текущий запрос по команде меню Файл|3акрыть (File|Close) или нажав кнопку окна запроса Закрыть (Close). Сохраненный запрос можно выполнить, выделив его в окне базы данных и нажав кнопку Открыть (Open).