Материал: 905

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

После того как вы нажмете кнопку Построить, на экране появится окно построителя выражений (рис. 11).

Рис. 11. Окно построителя выражений

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

Встроенные функции Microsoft Access

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

Функции преобразования типов данных

Str(число) – переводит число в строку.

Val(строка) – переводит строку в число.

Функции даты и времени

Date() – возвращает текущую системную дату.

31

Day(дата) – возвращает целое число в интервале от 1 до 31, представляющее число в дате, указанной в качестве аргумента.

Time() – возвращает текущее системное время.

Hour(дата) – возвращает целое число в интервале от 0 до 23, представляющее часы в дате, указанной в качестве аргумента.

Minute(дата) – возвращает целое число в интервале от 0 до 59, представляющее минуты в дате, указанной в качестве аргумента.

Month(дата) – возвращает целое число в интервале от 1 до 12, представляющее номер месяца в дате, указанной в качестве аргумента.

Weekday(дата) – возвращает целое число от 1 (воскресенье) до 7 (суббота), соответствующее номеру дня недели в заданной дате.

Year(дата) – возвращает целое число, представляющее год в дате, указанной в качестве аргумента.

Текстовые функции

InStr(начало, строка1, строка2, сравнение) – возвращает первую позицию, начиная с которой, одна строка (строка2) содержится в другой строке (строка1). Аргумент «начало» указывает, начиная с какой позиции нужно искать подстроку в строке, аргумент «сравнение» указывает метод сравнения строк (0 – учитывает регистр символов, 1 – не учитывает регистр символов).

LCase(строка) – преобразует все символы строки в нижний регистр (строчные буквы).

Left(строка, число) – возвращает заданное число символов из строки, начиная с первого символа.

Len(строка) – определяет длину строки.

Right(строка, число) – возвращает заданное число символов, расположенных в конце строки.

UCase(строка) – преобразует все символы строки в верхний регистр (заглавные буквы).

Сообщения

InputBox(сообщение) – выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле. Если указать второй аргумент в виде какого-то текста, то этот текст появится в заголовке выводимого диалогового окна.

MsgBox(выражение) – выводит на экран диалоговое окно, содержащее сообщение. В качестве аргумента может быть записан текст, заключенный в кавычки.

32

Функции управления и проверки

IIf(условие, выражение1, выражение2) – возвращает одно из двух значений в зависимости от истинности указанного условия).

IsNull(выражение) – возвращает значение логического типа (истина, ложь), показывающее, является ли результатом выражения пустое значение.

Статистические функции

Avg(выражение) – вычисляет среднее арифметическое.

Count(выражение) – вычисляет количество.

Max(выражение) – вычисляет максимальное значение.

Min(выражение) – вычисляет минимальное значение.

Sum(выражение) – вычисляет сумму.

Пример 1

Найти студентов, родившихся в первой половине месяца. Необходимо создать вычисляемое поле в запросе, в котором будет

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

Поле:

№ зачетки

Выражение1: Day([Студенты]![Дата рождения])

Вывод на экран:

 

 

Условие отбора:

 

>=1 And <=15

Пример 2

Найти студентов, достигших определенного возраста.

Нужно вычислить возраст студента и сравнить его с заданным числом. Бланк запроса может выглядеть следующим образом:

Поле:

Выражение1:Year(Date())-Year([Студенты]![Дата рождения])

Вывод на экран:

 

Условие отбора:

>=[Введите возраст]

Пример 3

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

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

Поле:

№ зачетки

Фамилия

Выражение1: Left([Студенты]![Фамилия];1)

Вывод на

 

 

 

экран:

 

 

 

 

Условие

 

 

“С”

отбора:

 

 

 

33

Пример 4

Создать запрос, в котором формируется новое поле: Фамилия и инициалы на основе имеющихся полей Фамилия, Имя, Отчество (Пр. Иванов П.А.).

Выражение может выглядеть следующим образом:

ФИО: [Студенты]![Фамилия]+“ ”+Left([Студенты]![Имя];1)+”.”+ Left([Студенты]![Отчество];1)+ ”.”

Итоговые (групповые) операции

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

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

Пример

Найти количество студентов, родившихся позднее 1 сентября 1983 года. Бланк запроса может выглядеть следующим образом:

Поле:

Фамилия

Дата рождения

Групповая операция:

Count

 

Вывод на экран:

 

Условие отбора:

 

>01.09.83

Запросы на обновление записей

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

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

34

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

Обновление.

3.Переместить с помощью мыши из списка полей в бланк запроса поля, которые необходимо обновить или определить для них условие отбора.

4.В случае необходимости в ячейке Условие отбора указать условие отбора.

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

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

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

Примечание. Чтобы остановить выполнение запроса, нажмите клавиши

[Ctrl]+[Break].

Запросы на удаление записей

Запрос на удаление позволяет удалить записи из одной таблицы, из нескольких таблиц с отношением «один-к-одному» или с отношением «один-ко-многим», если было установлено каскадное удаление.

Удаление записей из одной или нескольких таблиц, связанных отношением «один-к-одному»

1.Создайте новый запрос, содержащий таблицы, из которых необходимо удалить записи.

2.В режиме конструктора запроса нажмите стрелку рядом с кнопкой Тип запроса на панели инструментов и выберите команду

Удаление.

3.Для таблиц, из которых необходимо удалить записи, переместите символ «звездочка» из списка полей в бланк запроса. В ячейке Удаление в этом поле появляется значение Из.

4.Чтобы указать условия отбора для удаляемых записей, переместите с помощью мыши в бланк запроса поля, для которых устанавливаются условия отбора. В ячейке Удаление в этом поле появляется значение

Условие.

35