Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

905

.pdf
Скачиваний:
0
Добавлен:
07.01.2021
Размер:
745.34 Кб
Скачать

После того как вы нажмете кнопку Построить, на экране появится окно построителя выражений (рис. 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

5.Введите условие отбора в ячейку Условие отбора для полей, перемещенных в бланк запроса.

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

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

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

[Ctrl]+[Break].

Удаление записей с помощью запроса, включающего только таблицу на стороне «один», связанную отношением «один-ко-многим»

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

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

2.См. шаги 2-7 выше.

Удаление записей с помощью запроса, включающего обе таблицы,

связанные отношением «один-ко-многим»

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

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

Удаление.

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

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

5.См. шаги 5-6 выше.

36

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

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

[Delete].

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

Задание 3. Создание запросов

База данных «СПОРТСМЕНЫ».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

спортсмены из США и России, занявшие призовые места;

спортсмены из всех стран, кроме России, занимающиеся плаванием;

участники одного соревнования, упорядоченные по занятым местам и странам;

спортсмены из Украины, занимающиеся легкой атлетикой, и спортсмены из России, занимающиеся спортивной гимнастикой.

2.Вывести данные о спортсменах, младше определенного возраста и занимающихся определенным видом спорта.

3.Найти самого молодого участника соревнований.

4.Заменить вид спорта «спортивная гимнастика» на «гимнастика».

5.Удалить из базы данных все записи о спортсменах, занявших десятое место.

База данных «ПОДПИСКА».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

подписчики, подписавшиеся на газету «Звезда» или журнал «Звезда»;

подписчики, оформившие подписку с 01.05.97 по 01.07.98;

подписчики, подписавшиеся на газету до 31.12.98 и на журнал до

30.06.98;

вывести на экран поля фамилия, с какого и по какое для подписчиков, подписавшихся на газету «Звезда» с 01.01.98 и на журнал «Звезда» в любое время.

2.Вывести список подписных изданий, на которые была оформлена подписка в заданный год.

37

3.Найти подписчика, подписавшегося на заданную газету позже всех.

4.Заменить индекс на 44044 для всех подписавшихся на издание с индексом 40532.

5.Удалить из базы данных сведения о подписчиках, подписавшихся на газету «Гудок».

База данных «ФУТБОЛЬНЫЙ ЧЕМПИОНАТ».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

команды, забившие 2-5 мячей;

команды, игравшие с московским «Динамо» и забившие ему 4 мяча;

команды из всех городов, кроме Омска, пропустившие 2 мяча;

команды, получившие 10 очков и игравшие с 01.01.99 по 01.01.00.

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

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

4.Заменить название команды «Салават Юлаев» на «Салават».

5.Удалить из базы данных все записи о командах Москвы и Минска, не набравших 15 очков.

База данных «ВИДЕОПРОКАТ».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

боевики с продолжительностью более 110 минут;

боевики, снятые в России, и фантастические фильмы, снятые в США в 1999 году;

фильмы продолжительностью менее 100 минут, выпущенные ранее 1998 года в США;

фильмы жанров мелодрамма и фантастика.

2.Вывести данные о фильмах, которые брали на три дня.

3.Найти самый последний фильм, выпущенный в определенной стране в определенном месяце.

4.Заменить название страны на USA для всех фильмов, снятых в США.

5.Удалить из базы данных все комедии, снятые во Франции.

База данных «АПТЕКА».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

лекарственные средства, выпускаемые в каплях;

лекарственные средства, продаваемые по цене, ниже заданной;

38

лекарства, выпускаемые в таблетках по 100 штук в упаковке;

лекарства, поступившие в аптеку в заданный период.

2.Вывести список лекарственных средств, выпускаемых в виде сиропа, срок годности которых истечет в текущем году.

3.Найти самое дорогое лекарственное средство, противопоказанное больным астмой.

4.Заменить название страны на USA для всех лекарств, выпущенных в США.

5.Удалить из базы данных сведения о лекарствах, которых нет в наличии.

База данных «СТРАНЫ МИРА».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

страны с населением более 10 000 тыс. человек и страны Азии;

страны Европы с населением от 8 000 до 30 000 тыс. человек;

страны, по территории которых протекает река Иртыш;

страны Европы с площадью менее 100 тыс. кв. км и страны Африки с населением менее 5 000 тыс. человек, упорядоченные по названию страны.

2.Вывести список стран с определенной площадью, расположенных на определенном континенте.

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

4.Заменить название страны «США» на «USA».

5.Удалить из базы данных сведения о странах с площадью менее 100 тыс. кв. км.

База данных «СТРАХОВАЯ КОМПАНИЯ».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

клиенты, родившиеся ранее 11.11.81;

клиенты со страховой суммой от 100 до 200 тыс. руб.;

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

клиенты, застрахованные от несчастного случая или от пожара.

2.Вывести список выплат по страховкам, дата происшествия которых находится в заданном диапазоне.

3.Найти минимальный процент по страховке и максимальную страховую сумму.

4.Заменить в поле Место работы название фирмы «Глобус» на «Сфера».

39

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

База данных «БИБЛИОТЕКА».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

книги Пушкина и Грибоедова;

книги, тираж которых не превышает заданного числа;

книги, выпущенные в 1993 году или в 1999 году;

книги, количество экземпляров которых в библиотеке менее заданного числа.

2.Вывести список читателей, бравших книги определенного автора или с определенным названием.

3.Найти самую старую книгу Лермонтова.

4.Заменить название книги «Му-Му» на «МУ-МУ».

5.Удалить из базы данных сведения о книгах, имеющихся в библиотеке в единственном экземпляре.

База данных «ПОСТАВКИ ТОВАРОВ».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

товары стоимостью от 100 до 500 рублей;

товары, произведенные в России или Польше;

товары, заказанные любой страной, кроме Украины, объем заказа которых более 1000 шт.;

товары, заказы на которые были произведены в заданный период.

2.Вычислить сумму заказа и вывести список заказчиков, заказавших определенный товар на определенную сумму.

3.Найти товары, заказанные определенной фирмой в текущем году.

4.Заменить название фирмы «Титан» на «Атлант».

5.Удалить из базы данных сведения о товарах, произведенных в Китае.

База данных «ТЕЛЕВИДЕНИЕ».

1.Создать запросы к базе данных, с помощью которых будут выбраны:

программы, выходящие в эфир после 17:00;

программы длительностью от 30 до 60 минут;

программы, спонсором которых является определенная фирма;

программы, выходящие в эфир по средам или по воскресеньям до полудня.

2.Вывести список программ, заканчивающихся до полуночи.

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]