Лабораторные работы по БД для заочников на 2010-2011 учебный год.


Базы данных. Методические указания по выполнению контрольной работы.
Специальность: «Вычислительные машины, комплексы, системы и сети»
Форма обучения: заочное отделение
2010 год.
Готовые лабораторные по БД в mdb формате

Лабораторные работы:

Файлы базы данных SQL Server — MDF, MDB:
dfiles.ru/files/ag18brwcy

ЛАБОРАТОРНАЯ РАБОТА № 1. Тема: «Создание таблиц и связей между ними».

Запустите MS Access. Создайте новую базу данных «Институт».
В режиме Конструктора создайте таблицу Студенты, которая будет иметь следующую структуру:

Имя поля Тип данных
№ зачетки числовой
Фамилия текстовый
Имя текстовый
Отчество текстовый
Дата рождения Дата/Время
Город текстовый
Улица текстовый
Дом текстовый
Квартира числовой
Специальность текстовый
Группа текстовый
Форма обучения текстовый

Задайте дополнительные свойства для поля № зачетки. Для этого установите курсор в строке № зачетки. В нижней части окна в строке Условие на значение введите следующее: >=100000 AND <=999999
Перейдите к полю Специальность, и в строке Значение по умолчанию введите ВКСС.
Поле № зачетки сделайте ключевым.
В режиме Конструктора создайте таблицу Экзамены, которая будет иметь следующую структуру:

Имя поля Тип данных
№ зач числовой
Предмет текстовый
Оценка числовой
Дата сдачи Дата/Время
ФИО экзаменатора текстовый

Задайте дополнительные свойства для поля Оценка. Данные вводимые в это поле при заполнении таблицы не должны быть меньше 2 и больше 5. В противном случае должно появляться сообщение о не правильном вводе данных с пояснением. Текст сообщения введите в строке Сообщение об ошибке.
При сохранении структуры таблицы на вопрос Создать ключевое поле, нажмите НЕТ.

В режиме Конструктора создайте таблицу Стипендия, которая будет иметь следующую структуру:

Имя поля Тип данных
№ зачет числовой
Код стипендии числовой
Номер месяца числовой
Год числовой
К выдаче числовой

После определения структуры таблиц БД нужно указать Access способ, которым эти таблицы связаны.Нет ключевого поля. При сохранении структуры таблицы на вопрос Создать ключевое поле, нажмите НЕТ.
В режиме Конструктора создайте таблицу Виды стипендий, которая будет иметь следующую структуру:

Имя поля Тип данных
Код стипендии числовой
Вид стипендии текстовый

Заполните эту таблицу следующими данными:

Код стипендии Вид стипендии
1 Обычная
2 Республиканская
3 Президентская

Для определения связей нужно перейти в окно базы данных и выполнить команду Сервис\Схема данных или на панели инструментов нажать кнопку Схема данных . После этого Access откроет окно Схема данных и окно Добавление таблицы.
В окне Добавление таблицы нужно выделить имена таблиц Студенты, Экзамены, Стипендия, Виды стипендий и нажать на кнопку Добавить. После этого данное окно можно закрыть.
В окне Схема данных появятся имена всех указанных таблиц вместе со списками полей. Имена общих полей выделены полужирным шрифтом.
Выделить ключевое поле таблицы Студенты, нажать кнопку мыши, перетащить ее курсор на поле № зач в связываемой таблице Экзамены, после чего кнопку мыши отпустить. В результате появится диалоговое окно Связи.
В этом окне Access заполнил первую строку именем поля, по которому связывались таблицы.
Чтобы в связанных таблицах не нарушалась целостность данных, нужно щелкнуть по флажку Обеспечение целостности данных. После этого Access сделает невозможным запись в не ключевую таблицу такого значения общего поля, которого нет в таблице ключевой.
После установления целостности данных Access включает две дополнительные опции: Каскадное обновление связанных полей и Каскадное удаление связанных полей.
Если выбрать первую опцию, то при изменении какого-либо значения ключевого поля в ключевой таблице Access автоматически обновит значения этого поля для соответствующих записей во всех связанных таблицах. Например, если у одного из студентов изменился номер зачетки в таблице Студенты, то он автоматически должен поменяться и в таблице Экзамены.
Выбор второй опции при удалении одной из записей в ключевой таблице приведет к удалению тех записей в таблице со стороны «много», которые имеют такое же значение ключа. Например, если из таблицы Студенты удалить запись об одном из студентов, то записи о результатах сданных им экзаменов будут удалены автоматически.
Для завершения процесса создания связей, щелкнуть по кнопке Создать. Access нарисует линию между таблицами в окне Схема данных, указывающую на наличие связи между ними. На конце линии у таблицы со стороны «один» будет нарисована цифра 1, а на другом конце, у таблицы со стороны «много» — символ бесконечности .
Аналогичным образом создайте связи между таблицами Студенты и Стипендия, перетаскивая поле № зачет на поле № зачетки. Также создайте связь между таблицами Виды стипендий и Стипендия, перетащив поле таблицы Стипендия Код стипендии на поле Код стипендии таблицы Виды стипендий.
После закрытия этого окна все установленные связи будут сохранены.
Использование Мастера подстановок при вводе данных в таблицы
Мастер подстановок позволяет формировать для нужного поля список значений, который может содержать данные другой таблицы или запроса, либо состоять из фиксированного набора значений. В обоих случаях Мастер подстановок облегчает ввод данных и обеспечивает их достоверность.
Например, в базе данных Студенты-Экзамены поле Номер зачетки является общим для обеих таблиц. При заполнении этого поля в не ключевой таблице Экзамены важно, чтобы его значения для каждого студента точно соответствовали значениям в ключевой таблице. Для этого значения поля Номер зачетки в таблице Экзамены лучше всего представить в виде списка. Это избавит от необходимости печатать данные при заполнении этой таблицы, предотвратит появление ошибок при наборе и сделает ввод данных более наглядным (рис. 2).
Комбинированный список для поля Номер зачетки формируется на основе данных связанной таблицы Студенты.
Перед созданием удалите созданные связи между таблицами, щелкнув правой клавишей мыши по линии связи – Удалить.
Для создания комбинированного списка:
— войти в режим конструктора таблицы Экзамены,
— перейти в колонку Тип данных для поля № зач.
— Из списка доступных типов полей выбрать элемент Мастер подстановок.
— Первое диалоговое окно (рис.1) Мастера подстановок предлагает выбрать источник формирования списка: на основе данных таблицы \ запроса или фиксированный набор значений. В данном случае нужно выбрать первый вариант ( на основе таблицы) и нажать на кнопку Далее.

Диалоговое окно мастера подстановок

рис.1 Диалоговое окно мастера подстановок

В следующем окне из приведенного списка таблиц \ запросов следует выбрать таблицу \ запрос, являющуюся источником данных для списка. В нашем примере такой таблицей является таблица Студенты, т.к. она послужит источником данных для списка номеров зачеток.
В третьем окне Мастера подстановок из списка Доступные поля нужно выбрать поля, значения которых фигурируют в списке. В данном случае можно выбрать поля Фамилия и Имя , которые сделают список более информативным. Уберите галочку в строке Скрыть ключевой столбец. После этого можно нажать кнопку Готово для завершения процесса проектирования комбинированного списка. Сохранив проект таблицы, можно открыть таблицу Экзамены и просмотреть результат работы.

Использование комбинированного списка

Рис.2. Использование комбинированного списка

Другая возможность использования Мастера подстановок — это создание списков с фиксированными значениями. Он используется в тех случаях, когда набор значений в поле строго ограничен. Например, поле Специальность в таблице Студенты может иметь ограниченный набор значений (все специальности, имеющиеся в данном учебном заведении). Никаких других значений в этом поле быть не может. Чтобы ввести единообразие в записях и избежать ошибок при вводе, это поле также можно представить в виде списка, формируемого Мастером подстановок.
Откройте таблицу Студенты в режиме конструктора.
Поместите курсор в поле Специальность.
Процесс создания списка с фиксированными значениями похож на описанный выше, но на первом шаге Мастера подстановок следует выбрать опцию Фиксированный набор значений.
На следующем шаге нужно создать список этих значений: ВКСС, ТМС, Электроэнергетика. После чего можно завершить процесс создания списка и сохранить изменения в структуре. Теперь при вводе данных в поле Специальность нет необходимости печатать значения, а достаточно просто выбрать из предлагаемого списка нужное.
Заполните данными таблицы. В таблицу Студенты поместите фамилии студентов вашей подгруппы и 5 произвольных фамилий. При вводе данных в таблицу Экзамены, используйте созданный с помощью Мастера подстановок список в поле №зач.
Заполните таблицу Экзамены 25 записями. В таблице Стипендия заполните 15 записями все поля кроме последнего.
Для проверки соблюдения целостности данных при работе с таблицами нужно:
• изменить значение ключевого поля (№зачетки) для одной из записей в таблице Студенты. Перейти в таблицу Экзамены и проверить, изменилось ли в ней значение общего поля для соответствующих записей;
• удалить одну из записей в таблице Студенты. Перейти в таблицу Экзамены и проверить, удалены ли в ней соответствующие записи.
Попробуйте ввести код стипендии 5 в таблице Стипендия и нажмите Enter. Обратите внимание на возникшую ошибку.

КОНТРОЛЬНЫЕ ВОПРОСЫ:
1. Как создать таблицу в режиме Конструктора?
2. Какие дополнительные свойства можно задать полям таблицы?
3. Как создать ключевое поле?
4. Как создать связь между таблицами?
5. Что такое обеспечение целостности таблиц?
6. Что такое каскадное удаление и изменение данных?
7. Как просмотреть Схему данных?
8. Как создать поле с комбинированным списком ?
9. Как создать поле для ввода, которое будет содержать список с фиксированными значениями?

Лабораторная работа № 3. «Запросы с вычисляемыми полями. Итоговые запросы».

 Создадим запрос, который вычислит  размер стипендии после увеличения ее на 15 процентов.

  • Добавьте в бланк запроса из таблицы Стипендия поля № зачетки и поле К выдачи.
  • Для создания выражения в вычисляемом поле щелкните по пустому полю в бланке QBE, а затем по кнопке панели инструментов  Построить,  при этом откроется окно Построитель выражений  (рис. 1).

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

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

  • Для начала  нужно щелкнуть дважды в левом списке по папке Таблицы, и выбрать  таблицу Стипендия, а затем  в колонке  само поле  К выдаче,  щелкнуть по кнопке  Вставить.

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

В результате у вас должно получиться выражение:

[Стипендия]![К выдаче]+ [Стипендия]![ К выдаче]*0,15

 

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

  • Запустите запрос на выполнение. В последнем столбце вы должны получить значение стипендии, увеличенной на 15 %.
  • Измените заголовок столбца. Вместо Выражение1 введите Новая стипендия. Для этого перейдите в режим Конструктора, в заголовке последнего столбца, куда вводилось выражение, удалите до двоеточия Выражение1 и введите перед двоеточием Новая стипендия.
  • Щелкните правой клавишей по полю Новая стипендия и выберите Свойства, в открывшемся окне в строке Формат поля из списка выберите Денежный.

Закройте запрос, задайте имя Стипендия увеличенная на 15 %

 

 Итоговые запросы

Итоговые запросы значительно отличаются от обычных запросов. В них поля делятся на 2 типа:

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

—   поля, для которых проводятся вычисления.

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

  • В режиме Создать запрос в режиме конструктора добавьте таблицу Студенты.
  • В бланк запроса поместите поля Специальность и Фамилия.
  • Нажмите на кнопку Групповые операции на панели инструментов.

В результате чего в бланке запроса появится строка Групповая операция. Если  для соответствующего поля из списка выбрать функцию Группировка (рис 2), то при выполнении запроса записи по этому полю группируются по значениям в этом поле, но итог не подводится.

Группировка в итоговом запросе производится только по одному полю. Во всех остальных полях вводятся итоговые функции.

Строка Групповая операция в бланке QBE

Рис 2. Строка Групповая операция в бланке QBE

 

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

Основные  групповые функции, которыми можно воспользоваться:

SUМ — вычисляет сумму всех значений заданного поля (для числовых или денежных полей), отобранных запросом;

AVG — вычисляет среднее значение в тех записях определенного поля, которые отобраны запросом ( для числовых или денежных полей);

MIN — выбирает минимальное значение в записях определенного поля, отобранных запросом;

MAX – выбирает максимальное значение в записях определенного поля, отобранных запросом;

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

FIRST — определяет первое значение в указанном поле записей;

LAST —. определяет последнее значение в указанном поле записей.

Для поля Фамилия выберите из раскрывающегося списка в строке Групповые операции функцию COUNT.

  • Запустите запрос на выполнение
  • Изменим подпись поля COUNT_Фамилия на Количество студентов. Для этого перейдите в режим Конструктора, щелкните правой клавишей мыши по полю Фамилия, выберите Свойства, в строке Подпись введите Количество студентов.
  • Запустите запрос и убедитесь, что столбец переименован.

 

Запросы к нескольким таблицам

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

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

  • В режиме Конструктора добавьте таблицы Студенты и Экзамены.
  • В бланк запроса поместите поля: Фамилия, Имя, Специальность, Группа, Оценка.
  • Нажмите на кнопку Групповые операции.
  • В строке Групповая операция выберите из списка функцию AVG.
  • Запустите запрос. На калькуляторе проверьте правильность вычисления среднего значения.
  • Переименуйте поле AVG_ баллы в Рейтинг.
  • Закройте запрос, сохранив его под названием Рейтинг студентов.

САМОСТОЯТЕЛЬНО ВЫПОЛНИТЬ:

Создайте следующие запросы:

  1. вывести на экран фамилии студентов, у которых стипендия больше 5$;
  2. фамилии студентов, занимающиеся не в 1-ой группе и стипендия которых в пределах от 20 до 50 р.
  3. количество студентов, сдавших меньше 2 экзаменов.
  4. фамилии студентов, чей рейтинг не превышает 80 баллов
  5. студент, имеющий наивысший рейтинг.
  6. количество студентов, сдавших экзамены на 2.
  7. вывести информацию о студентах во время сдавших экзамены;
  8. вычислить количество иногородних студентов ( не проживающих в Тирасполе), обучающихся на специальности ВКСС;
  9. Сумма стипендии, получаемой студентами 2 курса специальности ТМС;
  10. Вычислить возраст студентов;

Примечание

1 вариант – нечетные задания;

2 вариант – четные задания.

Справочник

Date() – функция (не содержит аргументов), которая возвращает значение системной даты.

Year(дата) – функция (аргументом является значение даты или поле, содержащее значение даты), которая возвращает значение года из даты, например Year(12.03.2008) вернет значение 2008.

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

  1. Назначение итоговых запросов.
  2. Назначение построителя выражений.
  3. Как создать в бланке запроса вычисляемое поле?
  4. Как добавить в бланк запроса строку Групповые операции?
  5. Как вычислить сумму  значений заданного поля?
  6. Как осуществить сортировку записей в запросе?
  7. Какие виды вычислений можно произвести в итоговых полях?
  8. Как переименовать столбец в запросе?
  9. Как изменить формат вывода значений в запросе?
  10. Какие функции работы с датой можно применить в Access?

 

ЛАБОРАТОРНАЯ РАБОТА № 5. Тема: «Создание вычисляемых элементов в запросах, отчетах, формах. Создание макросов»

Задание 1:

Получить запрос, который отражает результат сдачи сессии, сдана сессия или нет.

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

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

Создадим запрос, который вычисляет номер семестра по данным таблицы Экзамены и полю Номер группы таблицы Студенты.

В бланк запроса добавьте поле Предмет из таблицы Экзамены и поля №зачетки, Фамилия из таблицы Студенты.

Создайте вычисляемое поле. В построителе выражения введите следующее выражение:

Номер семестра: IIf(Month([Экзамены]![Дата сдачи])>=1 And Month([Экзамены]![Дата сдачи])<=6;(CInt(Year([Экзамены]![Дата сдачи]))-(CInt(Left([Студенты]![Группа];2))+2000))*2+1;(CInt(Year([Экзамены]![Дата сдачи]))-(CInt(Left([Студенты]![Группа];2))+2000))*2)

 

Not Supported

Рис.1.

Сохраните запрос под именем Определение семестра.

 

Функция IIf является встроенной функцией, ее можно вызвать, выбрав в Построителе выражений папку Функции – Встроенные функции – Управление – IIf. Данная функция возвращает одно из двух значений, записанных после условия.

Синтаксис функции: IIf(условие ; значение1 ; значение 2) Функция вернет Значение1, если условие истинно, в противном случае вернет Значение2.

Функция Month( дата)- возвращает значение месяца из даты. Например, Month(12.03.2006) = 3.

Функция Year( дата) — возвращает значение года из даты.

Функция Left ( строковое выражение; N) – возвращает N-первых символов в строковом выражении. В нашем примере данная функция выделяет первых два символа в названии Группы, для определения года поступления студентов.

Функция CInt( значение) – превращает значение из любого типа данных (текстового, дата/время и т.д.) в значение числового типа.

Смысл созданного выражения: «Если значение месяца даты сдачи экзамена >= 1 и <= 6, то вычислить разность значения года сдачи экзамена и (года поступления + 2000) и результат разности умножить на 2 и увеличить на 1, в противном случае, вычислить разность значения года сдачи экзамена и (года поступления + 2000) и результат разности умножить на 2».

 

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

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

Добавьте строку Групповые операции и выберите для поля Предмет функцию Count.

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

Сохраните запрос с именем Количество предметов.

Not Supported

Рис.2.

Создайте связь без обеспечения целостности между полем Семестр таблицы Количество экзаменов по семестрам и полем Номер семестра из запроса Количество предметов. Сервис – Схема данных. Правой клавишей мыши вызовите контекстное меню.

Выберите Добавить таблицу. Выберите таблицу Количество экзаменов по семестрам, затем перейдите на вкладку Запросы и щелкните по запросу Количество предметов.

Создайте связь без обеспечения целостности между полем Специальность таблицы Студенты и полем Специальность таблицы Количество экзаменов по семестрам.

 

Создадим запрос Итоги сдачи сессии.

Вставьте поля из таблиц Студенты и Количество экзаменов по семестрам, и запроса Количество предметов, как указано на рисунке.

Not Supported

Рис.3.

Создайте вычисляемое поле Итог сессии. В построителе выражений введите следующее:

Итог сессии: IIf([Количество предметов]![Count-Предмет]=[Количество экзаменов по семестрам]![Количество экзаменов];»Сдано»;»Не сдано»)

Нажмите ОК.

Запустите запрос на выполнение.

 

Задание 2: Создать отчет, который по значению среднего балла, полученных оценок на экзаменах, формирует платежную ведомость с автоматическим начислением стипендии. Если студенты первого курса, то размер стипендии вне зависимости от среднего балла оценок, 40 руб., если средний балл меньше 4, стипендия не начисляется, если от 4 до 4,5 , то начислить 50 руб., если больше 4,5 – 60 руб.

Из — за невозможности вставки полей в отчет из разных таблиц, создадим запрос с именем Запрос для отчета, который будет содержать поля Фамилия, Имя, Отчество, Группа из таблицы Студенты, поле Оценка из таблицы Экзамены.

Добавьте строку Групповые операции и выберите для поля оценка функцию Avg.

В строке условия отбора для поля Оценка вставьте условие >4, для поля Группа в строке бланка запроса ИЛИ вставьте условие Like 06*

 

Not Supported

Рис.4.

 

Перейдите на вкладку Отчеты. Выберите Создать – Конструктор. В качестве источника выберите Запрос для отчета.

В область данных перетащите поля Фамилия, Имя, Отчество, Avg-Оценка.

Выберите группировку по полю Группа. Добавьте заголовок и примечание группы. В заголовок группы перетащите из списка полей поле Группа.

Левую часть поля (название) измените на Платежная ведомость для получения стипендии группой.

Измените свойства поля Avg-Оценка. Щелкните правой клавишей мыши по этому полю, в контекстном меню выберите строку Свойства. В строке Вывод на экран выберите Нет.

Вставьте с панели элементов объект поле ab рядом с полем Отчество. Вызовите окно свойств для данного объекта. В строке Данные вызовите построитель выражении, нажав на |…| В построителе выражений наберите следующее:

= Switch([Avg-Оценка]>4 And [Avg-Оценка]<4,5;50;[Avg-Оценка] > 4,5 ;60 ; Left([Группа];2) =»06″;40)

Это выражение означает: если средний балл оценок больше 4 и меньше 4,5, то назначить стипендию в размере 50 руб., если средний балл оценок больше 4,5, назначить стипендию в размере 60 руб., если первые два знака в названии группы –«06» назначить стипендию в размере 40 руб.

Функция выбора Switch(условие1; значение1; условие2; значение2;…условие N; значение N). Заменяет несколько вложенных конструкций IIf.

В строке Формат поля окна свойств выберите из списка значение Денежный.

Рядом с вычисляемым полем размера стипендии добавьте объект Прямоугольник с панели элементов.

Разместите названия полей, как это показано на рисунке.

 

Not Supported

Рис.5.

 

В Примечание группы вставьте с панели элементов объект Разрыв страницы.

Для всех полей в Области данных в окне свойств выберите Тип границы Сплошная.

 

Задание 3: Создать форму, которая выводит информацию о студентах по вводимым фамилии и имени, а так же содержит текстовое поле, в котором программным путем выводиться значение «Местный житель» или «Иногородний житель».

Для начала необходимо создать запрос с именем Запрос для формы, в который поместить все поля из таблицы Студенты. В строке условия отбора для поля Фамилия ввести следующее выражение: [Введите фамилию], для поля Имя [Введите имя].

 

 

Not Supported

Рис.6.

 

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

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

 

Not Supported

Рис.7.

Закройте и сохраните форму с именем Информация о студентах. Откройте ее вновь введите фамилию студент в поле диалогового окна, нажмите на кнопку ОК или Enter, введите имя студента. Просмотрите выводимые данные.

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

Перейдите на вкладку Макросы – Создать. В верхней строке из списка выберите команду Закрыть. Укажите в строке Тип объекта – Форма, Имя объекта — Информация о студентах.

В следующей строке Макрокоманд выберите команду Открыть форму. Укажите имя формы Информация о студентах. Закройте и сохраните с именем Макрос для кнопки.

Not Supported

Рис.8.

 

Перетащите с панели элементов в область данных объект Кнопка. В мастере создания кнопок Выберите строку Разное и в соседнем окошке выберите строчку Выполнить макрос.

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

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

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

На панели элементов выберите объект Другие элементы в раскрывшемся списке в конце выберите строку Microsoft Forms 2.0 TextBox. Растяните объект на форме. Щелкните правой клавишей по данному объекту в строке Имя введите Ghit.

На панели инструментов щелкните по кнопке программа Not Supported. Запустится редактор программ Microsoft Visual Basic. Введите следующий текст программы.

Not Supported

Рис.9.

 

Ме.Город – ссылка на поле Город текущей формы. Ме – служебный оператор, который указывает на текущую форму (или отчет, запрос или др. объект для которого создается программный код).

Данный программный код означает, если значение поля формы Город равно Тирасполь, то значение текстового поля равно «Местный житель», иначе значение текстового поля равно «Иногородний житель».

Закройте форму и сохраните изменения.

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

Результат выполнения покажите преподавателю.

 

В языке VBA, как и в других языках программирования, основными элементами, управляющими ходом выполнения процедуры, являются условные операторы. Наиболее простой из них — оператор If . . . Then:

If Полина = «Ж» Then

Поздравление = «С 8 марта!»

End if

Если условие, заданное выражением между ключевыми словами If и Then выполняется, соблюдаются инструкции внутри блока, ограниченного ключевыми словами Then и End if. Иначе операторы между ключевыми словами не выполняются, а ACCESS перейдет к обработке оператора, который следует за ключевыми слова End if. В случае необходимости произвести два различных действия (одно при соблюдении условия, а второе — нет), надлежит воспользоваться полной формой оператора If:

If выражение Then

Оператор1

Else

Оператор2

End if

Если условие соблюдается, выполняется Оператор1 (или группа операторов, расположенных между ключевыми словами Then и Else, а если не соблюдается — Оператор2 (или группа операторов, расположенных между ключевыми словами Else и End if.

Однако, не всегда возможны два варианта решения. Учитывая это, VBA предоставляет в распоряжение пользователей оператор Select Case, предназначенный для выбора одного из множеств вариантов решений:

Select Case Город

Case «Киев»

Код_МГТС = «044»

Case «Москва»

Код_МГТС = «495»

Case «Запорожье»

Код_МГТС = «061-2»

Case Else

Print «Я не знаю такого города!»

End Select

При выполнении этого оператора проверяется значение переменной Город. В зависимости от результата проверки переменной Код_МГТС присваивается телефонной код некоторого города. Если значение переменной Город не совпадает ни с одним из значений, перечисленных в строках с ключевым словом Case, производится действие, указанной между ключевыми словами Case Else и End Select.

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

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

Какие свойства можно назначить объектам отчета?

Как сделать объект невидимым при выводе на экран?

Как создать вычисляемое поле в отчете?

Как создать в запросе условие, в следствие, которого будет появляться диалоговое окно для ввода значения?

Как создать форму?

Как создать макрос для закрытия, открытия формы?

Как создать кнопку в форме?

Какие элементы можно добавить в отчет?

Какие элементы можно добавить в форму?

Как добавить объект TextBox?

Как создать программный код на языке Visual Basic?