АСОУ. Упражнения по дисциплине Система управления базами данных ACCESS
- Создание файла Вашей Базы Данных
- Включите компьютер, если он не включён, и откройте окно программы Microsoft Access (Пуск – Все программы – Microsoft Office — Microsoft Office Access 2003).
- Щёлкните «мышью» на Стандартной панели инструментов по значку «Создать» (первый слева) или по команде «Создать файл» в Области задач «Приступая к работе» (в окне справа внизу). В новой Области задач «Создание файла» выберите щелчком «мыши» вариант «Новая база данных». Появится диалоговое окно «Файл новой базы данных».
- Ваш файл Базы Данных Вы будете хранить на Вашем сетевом диске в папке Лаб_Access. Найдите и откройте эту папку в диалоговом окне «Файл новой базы данных». Затем в поле «Имя файла» введите имя Вашего файла TCBIT (Training Center BIT – Учебный Центр «БИТ»).
- Щёлкните по кнопке «Создать» в этом же диалоговом окне внизу справа. Если появится диалоговое окно «Свойства: TCBIT.mdb», заполните своими данными это окно и щёлкните по кнопке ОК.
Рис. 1. Вид окна Базы Данных
После этого появится новое диалоговое окно с заголовком TCBIT: база данных (формат Access 2000). В этом окне слева в столбик перечислены все возможные объекты любой базы данных: Таблицы, Запросы, Формы, Отчёты, Страницы, Макросы и Модули. Главный объект любой базы данных – таблицы, с них и начнём создание новой БД.
- Создание таблицы «Слушатели» в режиме «Конструктор»
- В окне Базы Данных объект Таблицы выбран по умолчанию (выделен рамкой и фоном). Щёлкните по инструменту в Панели инструментов этого окна, а НЕ по значку в виде чистого листика в стандартной панели Access. Появится диалоговое окно «Новая таблица» с перечнем режимов создания таблицы.
- Выберите щелчком «мыши» режим «Конструктор» и щёлкните по кнопке ОК. Появится окно Конструктора в виде таблицы из трёх столбцов и пустых строк:
| Имя поля | Тип данных | Описание | |
| } |
- Введите в столбце Имя поля в первой строке имя первого поля – «РегНомер» (без кавычек) и нажмите клавишу табуляции Tab, чтобы перейти во второй столбец таблицы Конструктора под названием Тип данных.
В столбце Тип данных появится выпадающий список с кнопкой развёртывания u, содержащий перечень возможных типов данных для каждого поля. По умолчанию всегда стоит «Текстовый» тип данных.
- Разверните выпадающий список типов данных щелчком по кнопке развертывания uи выберите «мышью» тип Счетчик. Этот тип данных приводит к автоматической нумерации записей (строк).
- Нажмите клавишу табуляции Tab, чтобы перейти в третий столбец – Описание и введите там фразу «Номер слушателя в порядке регистрации» (без кавычек). Описание поля не обязательно, но желательно, так как текст описания поля появляется в строке состояния Access при работе с полем в таблицах, запросах, формах.
- Определите это Поле как ключевое, щёлкнув «мышью» по инструменту «Ключевое поле» – в Панели инструментов Access. Перед первой строкой появится ключик. По ключевым полям, как правило, устанавливаются связи между таблицами.
- Нажмите клавишу табуляции Tab, чтобы перейти на новую пустую строку, и введите во второй строке имя следующего Поля – «Фамилия».
Перейдите в столбец Тип данных, оставьте тип – «Текстовый» (он выбран по умолчанию) и посмотрите на нижнюю половину окна Конструктора.
| Табл. 1. Имена полей и типы данных таблицы Слушатели | Табл. 2 | ||||
| Имя поля | Тип данных | Описание | Размер и формат поля | ||
| РегНомер | Счетчик | Номер слушателя в порядке регистрации | |||
| Фамилия | Текстовый | Фамилия слушателя | 20 | ||
| Имя | Текстовый | Имя слушателя | 20 | ||
| Отчество | Текстовый | Отчество слушателя | 20 | ||
| ЗаявСпециал | Числовой | Код заявленной специализации в таблице «Специализации» | Длинное целое | ||
| НачалоЗанятий | Дата/время | Дата начала занятий | Краткий формат | ||
| Смена | Числовой | Номер смены: 1, 2, 3 или 4 | Байт | ||
| Группа | Текстовый | Шифр группы – ссылка на таблицу «Группы» | 10 | ||
| ДатаОплаты | Дата/время | Краткий формат | |||
| СуммаОплаты | Денежный | 0 десятичных знаков | |||
| Телефон | Текстовый | Телефон слушателя | 10 | ||
- В нижней половине окна Конструктора описываются «Свойства поля». Главное свойство текстового поля — его размер. По умолчанию, т.е. заранее, устанавливается размер всех текстовых полей в 50 символов.
Чтобы уменьшить размер Поля Фамилия, нажмите клавишу F6. Число 50 внизу в графе «Размер поля» выделится фоном. Введите вместо 50 число 20 и снова нажмите клавишу F6.
- Важным свойством поля в списке «Свойства поля» является его «Индексация», позволяющая ускорить поиск и сортировку записей в таблице БД.
Чтобы сделать поле Фамилия индексированным, щёлкните по графе «Индексированное поле» на вкладке «Общие» свойств поля. В этой графе появится стрелка выпадающего списка u.
Разверните список и выберите вариант «Да (Допускаются совпадения)», т.е. допускаются одинаковые фамилии.
ПРИМЕЧАНИЯ: Если при выборе какой-либо строки в перечне «Свойства поля» справа в строке появляется кнопка раскрытия списка u, то возможен выбор значения свойства поля в списке.
Если же появляется кнопка построителя выражений — , то можно задать значение свойства поля с помощью построителя (пример будет приведён далее).
- Переведите текстовый курсор в столбец Описание и введите там слова «Фамилия слушателя» (без кавычек).
- Введите имена всех остальных Полей, выберите для них соответствующий тип данных, а также размер и формат поля согласно приведённой выше Табл. 1 с именами полей и Табл. 2 с размерами и форматом полей.
- Сделайте индексированными поля НачалоЗанятий, ЗаявСпециал, Группа. Во всех трёх полях выберите вариант «Да (Допускаются совпадения)».
- Сохраните таблицу под именем «Слушатели» (без кавычек), для чего щёлкните «мышью» по инструменту «Сохранить» в стандартной панели инструментов Access, введите имя таблицы в окне «Сохранение» и щёлкните по кнопке ОК.
Рис. 2. Окно мастера «Создание масок ввода»
- Выберите поле НачалоЗанятий. В «Свойствах поля» окна Конструктора выберите щелчком «мыши» свойство «Маска ввода» – справа появится кнопка построителя выражений — . Щёлкните по ней «мышью» – откроется окно мастера «Создание масок ввода» (см. Рис. 2). Маска упрощает ввод данных.
В списке масок ввода выберите строку «Краткий формат даты». Затем поместите курсор в поле ввода «Проба:» и введите для пробы текущую дату. Набирать нужно только цифры числа, месяца, года без разделителей – видите, как просто! Щёлкните по кнопке «Готово».
Аналогичным образом задайте маску ввода «Краткий формат даты» для поля ДатаОплаты с подтверждением сохранения таблицы.
- Закройте окно конструктора таблицы Слушатели щелчком по его «кресту» с сохранением изменений и Вы снова окажетесь в окне Базы Данных TCBIT. В этом окне появится значок таблицы Слушатели.
- Создание таблицы «Специализации» в режиме «Конструктор»
- В окне Базы Данных выберите щелчком «мыши» объект «Таблицы», если был выбран другой объект, и щёлкните по инструменту в Панели инструментов этого окна.
- В диалоговом окне «Новая таблица» выберите щелчком «мыши» режим «Конструктор» и щёлкните по кнопке ОК. Появится окно Конструктора.
| Табл. 3. Имена полей и типы данных таблицы Специализации | Табл. 4 | ||||
| Имя Поля | Тип данных | Описание | Размер поля
и его формат |
||
| КодСпециал | Счетчик | Код (номер) специализации – первичный ключ | |||
| Специализация | Текстовый | Полное наименование специализации | 50 | ||
| Объем | Числовой | Объём курса в учебных часах | Целое | ||
| ЦенаЧаса | Денежный | Стоимость курса, приведённая к 1 учебному часу | Десят. знаков — 2 | ||
| Стоимость | Денежный | Общая номинальная стоимость курса | Десят. знаков — 0 | ||
- Заполните три столбца Конструктора, взяв имена полей, тип данных и описание из Табл. 3. Одновременно определите размеры полей или их формат так, как они указаны в Табл. 4.
- Сделайте поле КодСпециал ключевым, для чего зафиксируйте указатель «мыши» в этом поле и щёлкните по значку «Ключевое поле» в Панели инструментов Access.
- Сохраните новую таблицу под именем «Специализации».
- Закройте окно конструктора таблицы Специализации.
- Создание таблицы «Преподаватели» в режиме «Мастер таблиц»
- В окне Базы Данных выберите щелчком «мыши» объект «Таблицы», если был выбран другой объект, и щёлкните по инструменту в Панели инструментов этого окна. Появится диалоговое окно «Новая таблица» с перечнем способов (режимов) создания таблицы.
- Выберите щелчком «мыши» режим «Мастер таблиц» и щёлкните по кнопке ОК. Появится диалоговое окно «Создание таблиц».
- В диалоговом окне в списке «Образцы таблиц» выберите щелчком «мыши» наиболее подходящий образец таблицы, а именно – «Сотрудники».
- В списке «Образцы полей» выберите щелчком «мыши» поле «КодСотрудника» и щёлкните по кнопке > . Это поле появится в рамке «Поля новой таблицы:».
- Стандартное Имя поля можно изменить на более удачное. Щёлкните по кнопке «Переименовать поле…» (ниже рамки «Поля новой таблицы:»). Введите в появившемся окне новое имя поля – «КодПрепод» (без кавычек) и щёлкните по ОК.
- Действуя как в п.4, выберите в списке «Образцы полей:» и переместите поля: Фамилия, Имя, Отчество, Должность, Зарплата.
- Переместите поле «ДомашнийТелефон», переименовывая его в более краткое имя ДомТелефон.
- Щёлкните по кнопке «Далее» и задайте имя новой таблицы, а именно – «Преподаватели» (без кавычек) и затем щёлкните по кнопке «Далее».
- Появится вопрос о связях этой таблицы с другими, но о связях говорить ещё рано, потому щёлкните по кнопке «Далее».
- Так как стандартная таблица не может содержать всех нужных Вам полей, выберите пункт «Изменить структуру таблицы» и щёлкните по кнопке «Готово». Появится окно Конструктора с созданными Вами полями.
| Табл. 5. Имена полей и типы данных таблицы Преподаватели | Табл. 6 | |||
| Имя поля | Тип данных | Описание | Размер и формат поля | |
| КодПрепод | Счетчик | Учётный номер преподавателя (первичный ключ) | ||
| Фамилия | Текстовый | 20 | ||
| Имя | Текстовый | 20 | ||
| Отчество | Текстовый | 20 | ||
| Должность | Текстовый | 20 | ||
| Зарплата | Денежный | Десятичных знаков — 0 | ||
| Образование | Текстовый | Название учебного заведения | 50 | |
| Степень | Текстовый | Учёная степень | 20 | |
| Звание | Текстовый | Учёное звание | 20 | |
| Стаж | Числовой | Стаж преподавания, лет | Байт | |
| ДомТелефон | Текстовый | 10 | ||
- Добавьте в таблицу новые поля, которых не было в стандартной таблице: Образование, Степень, Звание, Стаж. Тип данных, размер и формат полей возьмите из Табл. 5 и Табл. 6.
- Проверьте, если поле КодПрепод не стало ключевым, сделайте его ключевым.
- Сохраните результаты Вашей работы щелчком по инструменту «Сохранить» и закройте окно конструктора этой таблицы щелчком по его «кресту».
- Создание таблицы «Группы» в режиме «Конструктор»
- В окне Базы Данных выберите щелчком «мыши» объект «Таблицы», если был выбран другой объект, и щёлкните по инструменту в Панели инструментов этого окна.
- В диалоговом окне «Новая таблица» выберите щелчком «мыши» режим «Конструктор» и щёлкните по кнопке ОК. Появится окно Конструктора.
| Табл. 7. Имена полей и типы данных таблицы Группы | Табл. 8 | |||||
| Имя поля | Тип данных | Описание | Размер и формат поля | |||
| НомерГруппы | Текстовый | Шифр группы (первичный ключ) | 10 | |||
| КодСпециал | Числовой | Номер (код) специализации – ссылка на таблицу «Специализации» | Длинное целое | |||
| Начало | Дата/время | Дата начала занятий | Краткий формат | |||
| Окончание | Дата/время | Дата окончания занятий | Краткий формат | |||
| Смена | Числовой | Номер смены 1, 2, 3 или 4 | Целое | |||
| Аудитория | Числовой | Номер аудитории | Целое | |||
| КодПрепод | Числовой | Учётный номер преподавателя – ссылка на таблицу «Преподаватели» | Длинное целое | |||
- Заполните три столбца Конструктора, взяв имена полей, тип данных и описание из Табл. 7. Одновременно определите размеры полей или их формат так, как они указаны в Табл. 8.
- Выберите поле НомерГруппы и определите его как ключевое, щёлкнув «мышью» по инструменту «Ключевое поле» – в Панели инструментов Access.
- Для полей Начало и Окончание задайте маску ввода «Краткий формат даты» аналогично маскам для полей типа Дата/время таблицы Слушатели (см. Упражнение 2.14).
- А теперь сохраните таблицу под именем Группы и закройте окно конструктора щелчком по его «кресту». Вы снова окажетесь в окне Базы Данных TCBIT.
ТЕОРИЯ: Создание схемы базы данных – третий этап создания БД
Создание схемы Базы Данных — это определение связей между таблицами, входящими в эту БД, а точнее, между конкретными полями этих таблиц.
Когда таблицы связаны – изменения в одной из них автоматически передаются в другую. Главный смысл связывания таблиц – исключение дублирования сведений в БД.
Проще всего понять смысл связей на примере той конкретной БД, которую Вы создаете. Схема связей этой БД приведена ниже на Рис. 3. В ней таблица Слушатели связана с таблицей Группы связью «один-ко-многим». Это означает, что одной записи в таблице Группы может соответствовать несколько записей из таблицы Слушатели, т.е. в одной группе может быть несколько слушателей. Такой же связью «один-ко-многим» связаны таблица Специализации с таблицей Группы (может быть несколько групп по одной специализации) и таблица Преподаватели с таблицей Группы (один преподаватель может работать в нескольких группах).
Связи следует устанавливать при пустых таблицах, иначе могут возникнуть проблемы согласования значений связываемых полей, называемые нарушением целостности данных.
- Установление связей между таблицами Вашей БД
- Откройте меню Сервис и выполните команду Схема данных… (или щёлкните «мышью» по значку «Схема данных» в Панели инструментов Access) — открывается окно «Схема данных», внутри которого Вы увидите диалоговое окно «Добавление таблицы».
- Щёлкните по кнопке «Добавить» и условное изображение выделенной фоном таблицы появится в окне «Схема данных».
- Добавьте поочередно все другие таблицы из списка кнопкой «Добавить» и закройте диалоговое окно «Добавление таблицы».
- Отрегулируйте «мышью» расположение и размеры изображений таблиц в окне «Схема данных» так, как показано на Рис. 3.
Рис. 3. Схема данных БД TCBIT
- Установите связь между таблицами Специализации и Группы. Связь устанавливается от ключевого поля одной таблицы к однородному полю другой таблицы следующим образом:
- Нажмите левую клавишу «мыши» на ключевом поле КодСпециал (выделено жирным шрифтом) таблицы Специализации и не отпускайте её.
- Протяните «мышь» до поля КодСпециал таблицы Группы и отпустите левую клавишу «мыши» на поле КодСпециал – открывается диалоговое окно «Изменение Связей».
- Включите щелчком «мыши» признак «Обеспечение целостности данных». Параметр «Тип отношения:» (внизу окна) должен иметь значение «один-ко-многим».
- Щёлкните «мышью» по кнопке «Объединение…». Появится диалоговое окно «Параметры объединения». В нём должен быть установлен вариант 1. Если это так, щёлкните по ОК и затем по кнопке «Создать» в другом окне. Вы увидите установленную Вами связь типа «один-ко-многим» между таблицами Специализации и Группы.
ПРИМЕЧАНИЕ. Необходимо обеспечить одинаковость типов и совместимость значений параметров связываемых полей, иначе попытка связать таблицы приведет к ошибке. Должны совпадать не только тип, но и размер поля. Важно: типу Счетчик соответствует тип Числовой/Длинное целое.
- Действуя как в п.5, установите все другие связи между таблицами, руководствуясь схемой Рис. 3. Начинайте всегда протягивать связь с ключевого поля (оно в схеме отмечено цифрой 1) и тяните её до соответствующего поля в другой таблице (оно в схеме отмечено символом ¥).
- Удаление связи между таблицами
- Вставьте «лишнюю» связь между полем КодСпециал таблицы Специализации и полем ЗаявСпециал таблицы Слушатели.
- Удалите установленную «лишнюю» связь, для чего:
- Переместите «мышью» таблицу Группы вниз так, чтобы она не закрывала установленную Вами «лишнюю» связь.
- Поместите указатель «мыши» точно на линию связи в её средней части и щёлкните «мышью» – связь выделяется.
- Нажмите клавишу Delete, а затем подтвердите удаление.
- Закройте окно «Схема данных» щелчком «мыши» по его «кресту». Появится окно с вопросом «Сохранить изменения макета Схема данных»? Щёлкните по кнопке «Да» и Вы окажетесь в окне Вашей БД.
ТЕОРИЯ: Заполнение пустых таблиц – четвёртый этап создания базы данных
Вы выполнили 3 этапа создания БД. Остался последний, 4-й этап – заполнение пустых таблиц БД фактическими данными. Это самый трудоёмкий этап, поскольку реальные таблицы БД бывают очень большими.
Фактические данные можно вводить непосредственно в таблицу, либо создать специальную Форму, которая представляет на экране только одну запись. Форма не только облегчает ввод данных, но также делает более наглядным просмотр отдельных записей из таблицы БД.
- Ввод данных непосредственно в таблицу «Специализации»
- В окне Вашей БД Вы видите значки 4-х созданных Вами таблиц. Щёлкните по значку таблицы Специализации и затем по кнопке «Открыть». Откроется пустая таблица Специализации (открыть таблицу можно двойным щелчком «мыши» по её значку).
- Введите все 6 записей в таблицу Специализации, взяв их из одноименной таблицы в Приложении 1 в конце пособия. Вносить произвольные изменения в данные нельзя, так как на основании именно этих данных Вы будете делать много упражнений.
- Отрегулируйте ширину всех столбцов таблицы так, чтобы данные оптимально отображались на экране. Закройте таблицу Специализации с сохранением изменений макета.
ТЕОРИЯ: Использование подстановок в таблицах
Некоторые поля таблиц БД содержат «кодированные» значения – числа, непосредственная работа с которыми крайне неудобна. Например, при вводе данных в поле ЗаявСпециал таблицы Слушатели нужно задавать бессодержательный для человека номер специализации, а не её название, которое хранится в таблице Специализации. Придётся постоянно заглядывать в таблицу Специализации, чтобы по названию специализации определять её номер и вводить вручную в таблицу Слушатели.
Проблема решается при помощи механизма подстановок, когда пользователь видит в таблице и выбирает в специально созданном интерфейсном элементе содержательное значение поля и вставляет его в таблицу щелчком «мыши».
- Определение подстановки для поля «ЗаявСпециал» таблицы «Слушатели»
- Откройте таблицу Слушатели в режиме конструктора и выберите щелчком «мыши» поле ЗаявСпециал.
- В нижней части окна конструктора выберите вкладку «Подстановка». На этой вкладке щёлкните по строке «Тип элемента управления». Справа в строке появится стрелка выпадающего списка типов элементов управления. Разверните список из трёх строк: «Поле со списком», «Поле» и «Список». Здесь Вы будете использовать выпадающий список названий специализаций, поэтому выберите значение «Поле со списком».
- Появляется новый набор свойств, соответствующий выбранному типу элемента управления.
- Оставьте без изменения «Тип источника строк» – «Таблица или запрос», так как вам нужна таблица, содержащая готовый список названий специализаций.
- Щёлкните «мышью» в свойстве «Источник строк» – справа в строке появляются две кнопки: кнопка выпадающего списка и кнопка построителя запроса. Раскройте выпадающий список и выберите таблицу Специализации, в ней как раз находится нужное для подстановки поле со списком названий специализаций.
- Для свойства «Число столбцов» задайте значение 2, поскольку в списке подстановки будет 2 столбца: столбец кодов специализаций и столбец с названиями специализаций.
- Для свойства «Ширина столбцов» (в списке подстановки) задайте значения в виде двух чисел, разделённых точкой с запятой: «0;3» (без кавычек, 0 см для столбца кодов специализаций, так как он не выводится, и 3 см для столбца с названиями специализаций, так как он выводится).
- Значения остальных свойств оставьте неизменными.
- Сохраните внесённые изменения щелчком «мыши» по значку «Сохранить» на стандартной панели окна Access и перейдите в режим таблицы при помощи значка «Вид» на той же панели.
- Щёлкните «мышью» в пустой таблице в столбце ЗаявСпециал. У правого края любой ячейки в этом столбце таблицы появляется кнопка выпадающего списка, раскройте его. Вы увидите в списке вместо мало понятных чисел – кодов специализаций – названия этих специализаций, которые легко выбирать и вставлять в таблицу, а НЕ ВВОДИТЬ вручную! В этом смысл подстановки.
- Попробуйте выбирать значения специализаций и отрегулируйте ширину столбца ЗаявСпециал так, чтобы названия всех специализаций умещались полностью. Подстановка работает! Отмените пробный ввод названий специализаций щелчком по кнопке «Отменить»: таблица должна быть чистой.
- Определение подстановки для поля «Смена» таблицы «Слушатели»
- Откройте таблицу Слушатели в режиме конструктора и выберите поле Смена. В учебном центре «БИТ» смена – это сдвоенная пара часов; занятия проводятся в четыре смены; 1) 9-12 час, 2) 12-15 час, 3) 15-18 час и 4) 18-21 час.
- В нижней части окна конструктора выберите вторую вкладку «Подстановка». Для свойства «Тип элемента управления» выберите значение «Поле со списком». Появляется новый набор свойств, соответствующий выбранному типу элемента управления.
- Для свойства «Тип источника строк» выберите на этот раз не «Поле со списком», а «Список значений». Щёлкните «мышью» в поле свойства «Источник строк» и введите список значений в виде строки с номерами смен: «1;2;3;4» (без кавычек, через точку с запятой).
- Для свойства «Ширина списка» задайте значение примерно 1,2. Для свойства «Ограничиться списком» выберите значение «Да», что не позволит в дальнейшем ввести значение, не принадлежащее списку. Значения остальных свойств оставьте неизменными.
- Сохраните внесённые изменения при помощи инструмента «Сохранить» на панели окна Access и перейдите в режим таблицы при помощи инструмента «Вид» на той же панели.
- Проверьте работу выпадающего списка в столбце Смена. Отмените введенные смены: таблица должна быть чистой!
- Определение подстановок для полей таблиц «Преподаватели» и «Группы»
- Действуя так, как описано в предыдущих упражнениях, определите подстановки для полей таблиц Преподаватели и Группы. Таблица Специализации не содержит полей с кодированными значениями и поэтому не требует подстановок.
- На вкладке «Подстановка» в окне конструктора таблиц во всех случаях выбирайте «Тип элемента управления» – «Поле со списком». Остальные свойства – согласно данным Табл. 9.
- После определения подстановки для поля КодСпециал таблицы Группы в этом поле будет отображаться не код, а название специализации. Поэтому целесообразно задать «псевдоним» для этого поля: его новое имя.
В окне конструктора таблицы Группы выберите поле КодСпециал, затем в нижней части окна конструктора на вкладке «Общие» введите значение свойства «Подпись»: слово «Специализация» (без кавычек).
Проверьте новое имя поля (заголовок столбца), переходя в режим таблицы.
Табл. 9. Свойства подстановок для полей таблиц Преподаватели и Группы
| Таблица | Поле | Свойство | Значение |
| Преподаватели | Должность | Тип источника строк | Список значений |
| Источник строк | “зав. кафедрой»; “доцент”; “ст. преподаватель”; “преподаватель” | ||
| Ширина списка | 4 | ||
| Ограничиться списком | Да | ||
| Степень | Тип источника строк | Список значений | |
| Источник строк | “д.т.н.”; “к.т.н.” | ||
| Ширина списка | 2 | ||
| Ограничиться списком | Да | ||
| Звание | Тип источника строк | Список значений | |
| Источник строк | “профессор”; “доцент”; “с.н.с.” | ||
| Ширина списка | 3 | ||
| Ограничиться списком | Да | ||
| Группы | КодСпециал | Тип источника строк | Таблица или запрос |
| Источник строк | Специализации | ||
| Число столбцов | 2 | ||
| Ширина столбцов | 0;3 | ||
| Смена | Тип источника строк | Список значений | |
| Источник строк | 1;2;3;4 | ||
| Ширина списка | 1,2 | ||
| Ограничиться списком | Да | ||
| Аудитория | Тип источника строк | Список значений | |
| Источник строк | 403;404;409;410;413;417 | ||
| Ширина списка | 1,2 | ||
| Ограничиться списком | Да | ||
| КодПрепод | Тип источника строк | Таблица или запрос | |
| Источник строк | Преподаватели | ||
| Число столбцов | 2 | ||
| Ширина столбцов | 0;3 |
- Ввод данных в таблицы «Преподаватели» и «Группы» с использованием подстановок
- В окне Базы Данных щёлкните по значку таблицы Преподаватели и затем по кнопке «Открыть». Откроется пустая таблица Преподаватели.
- Введите все 6 записей в таблицу Преподаватели, взяв их из одноименной таблицы в Приложении 1 в конце пособия. В поля Должность, Степень, Звание данные вводите при помощи подстановки из выпадающих списков.
- Установите оптимальную ширину столбцов таблицы Преподаватели. Закройте таблицу с сохранением изменений макета.
- Щёлкните по значку таблицы Группы и затем по кнопке «Открыть». Откроется пустая таблица Группы.
- Введите все записи в таблицу Группы, взяв их из одноименной таблицы в Приложении 1 в конце пособия. В поля КодСпециал, Смена, Аудитория, Преподаватель данные вводите при помощи подстановки из выпадающих списков.
- В первой записи ОБЯЗАТЕЛЬНО введите значение «–» (без кавычек) вместо номера группы, а в полях Специализация и Преподаватель любые значения из списков. В других полях первой строки введите данные согласно образцу.
Эта запись необходима для соблюдения условий целостности данных относительно связи таблиц Группы и Слушатели через поля НомерГруппы и Группа соответственно (см. схему данных Рис. 3). Когда в таблицу Слушатели вводятся данные о новом слушателе, номер группы, в которую он будет зачислен, ещё не известен. Поэтому в поле Группа вводится значение «–», которое позже будет заменено на фактический номер группы.
- Установите оптимальную ширину столбцов таблицы Группы. Закройте таблицу с сохранением изменений макета.
- Определение подстановки для поля «Группа»
таблицы «Слушатели» с использованием построителя SQL-запроса.- Откройте таблицу Слушатели в режиме конструктора и выберите поле Группа. Задайте дополнительно значения ряда свойств этого поля:
| Свойство | Действие | Значение | Примечание |
| Значение по умолчанию | ввести | «–» | с кавычками |
| Обязательное поле | выбрать | Да | |
| Пустые строки | выбрать | Нет | |
| Индексированное поле | выбрать | Да (Допускаются совпадения) |
- В нижней части окна конструктора выберите вторую вкладку «Подстановка». Для свойства «Тип элемента управления» выберите значение «Поле со списком». Появляется новый набор свойств, соответствующий выбранному типу элемента управления.
- Оставьте без изменения «Тип источника строк» – «Таблица или запрос». Щёлкните «мышью» в поле свойства «Источник строк» – справа появляются две кнопки: кнопка выпадающего списка и кнопка построителя запроса. Щёлкните по кнопке построителя запроса – открывается окно «Инструкция SQL: построитель запросов», а поверх него ещё одно диалоговое окно «Добавление таблицы» со списком таблиц. Выберите в списке таблицу Группы и щёлкните «мышью» по кнопке «Добавить», выберите в списке таблицу Специализации и щёлкните «мышью» по кнопкам «Добавить», «Закрыть».
- В верхней части окна построителя выберите поле НомерГруппы таблицы Группы двойным щелчком «мыши» по названию поля. Выбранное поле отображается в нижней части окна построителя в первой колонке. Аналогичным образом выберите поле Специализация таблицы Специализации – оно отображается во второй колонке нижней части окна построителя. В третьей и четвёртой колонках отобразите поля Начало и Смена таблицы Группы.
- В результате описанных действий и после некоторой регулировки размеров областей окна, размеров и положения изображений таблиц окно построителя запросов принимает вид, представленный на Рис. 4.
- Закройте окно построителя с подтверждением сохранения изменений инструкции SQL. В окне конструктора таблицы Слушатели в поле свойства «Источник строк» Вы увидите сформированную построителем запросов «инструкцию SQL», интерпретация которой выходит за рамки нашего курса. Примите её, как она есть.
Рис. 4. Вид окна построителя запроса
- Для свойства «Число столбцов» задайте значение 4. Для свойства «Заглавия столбцов» выберите «Да». Для свойства «Ширина столбцов» задайте значение в виде строки «2;3,5;2;1,5» (без кавычек). Для свойства «Ширина списка» задайте значение 9,5. Значения остальных свойств оставьте неизменными.
- Сохраните изменённые свойства таблицы при помощи инструмента «Сохранить» на панели Access и перейдите в режим таблицы при помощи инструмента «Вид» на той же панели. Щёлкните «мышью» в какой-нибудь клетке таблицы в столбце Группа. У правого края клетки появляется кнопка выпадающего списка, раскройте его. Вы увидите список, в котором, кроме номеров групп, выводятся названия специализаций, дата начала занятий и смена, что обеспечивает правильный подбор группы для слушателя.
Отрегулируйте, если необходимо, ширину столбца Группа так, чтобы номера групп выводились полностью.
- Ввод данных в таблицу «Слушатели» путём копирования этих данных из таблицы Excel
- Основная таблица Вашей БД – таблица Слушатели – может содержать сотни и тысячи записей. Чтобы не тратить время на ввод нескольких десятков записей (в нашем случае), их можно просто скопировать из готовой электронной таблицы xls. Файл таблицы находится на сетевом диске кафедры k_it:
Сетевое окружение\Вся сеть\Microsoft Windows Network\Asou-mo\ Fileserver2\k_it\Учебные материалы\Access\TCBIT.xls
Найдите файл TCBIT.xls по указанному пути и скопируйте его в папку Лаб_Access на Вашем диске.
- Запустите программу Excel и откройте файл TCBIT.xls.
- Выделите всю таблицу без первой строки с заголовками столбцов и скопируйте её в Буфер обмена щелчком «мыши» по инструменту «Копировать» в Панели инструментов.
- Закройте окно программы Excel и Вы снова увидите окно своей БД.
- Щёлкните по значку таблицы Слушатели и затем по кнопке «Открыть». Откроется пустая таблица Слушатели.
- Выделите всю первую ПУСТУЮ строку таблицы Слушатели и вставьте на её место нужную Вам таблицу из Буфера обмена щелчком по значку «Вставить» в Панели инструментов Access. Вы увидите готовую таблицу Слушатели, содержащую десятки строк.
- Закройте окно таблицы Слушатели.
Создание Базы Данных завершено. Начнём пользоваться?
ТЕОРИЯ: Получение информации из базы данных при помощи запросов. Простые запросы
Запрос – это средство Access для отбора данных из БД по некоторому, формируемому Вами критерию. Результатом обработки запроса является динамический, или временный набор данных, который строится заново при каждом выполнении запроса. Динамический набор может отображаться в виде таблицы или формы.
Ранее сформированные запросы можно корректировать или использовать как основу для новых запросов.
- Формирование простейшего запроса в режиме Конструктора
Формулировка запроса: «Вывести фамилии всех слушателей, пожелавших пройти обучение по специализации номер 2».
- В окне БД выберите объект «Запросы» и щёлкните «мышью» по инструменту «Создать». Появится окно «Новый запрос».
- В окне «Новый запрос» выделен фоном режим Конструктор, он-то Вам и нужен. Щёлкните «мышью» по кнопке ОК. Откроется окно «Запрос1: запрос на выборку» и одновременно диалоговое окно «Добавление таблицы».
- Добавьте таблицу Слушатели, которая содержат нужные данные. Для этого выберите её «мышью» и щёлкните по кнопке «Добавить». Закройте окно «Добавление таблицы» кнопкой «Закрыть».
- Отрегулируйте положение и размеры отображения таблицы Слушатели в верхней части окна «Запрос1: запрос на выборку» так, чтобы были видны имена всех полей. Высоту верхней части окна можно изменять «мышью». В нижней части окна Вы формируете запрос. Её высоту тоже можно настраивать «мышью», как и высоту всего окна.
- Перенесите «мышью» поле ЗаявСпециал из таблицы Слушатели в верхней части окна в строку «Поле:» первого столбца запроса. Проще всего это сделать ДВОЙНЫМ щелчком «мыши» по полю ЗаявСпециал – и оно вставится в первый столбец конструктора запросов.
- В первом столбце в строке «Условие отбора:» введите 2.
- Вставьте ДВОЙНЫМ щелчком «мыши» поле Фамилия из таблицы Слушатели во второй столбец запроса. Запрос готов.
- Сохраните запрос командой Файл — Сохранить или щёлкните «мышью» по кнопке инструмента «Сохранить», введите имя запроса «СлушателиПоСпец2» и щёлкните по кнопке ОК.
- Выполните Запрос командой Запрос — Запуск или щёлкните «мышью» по инструменту «Запуск» . Появляется таблица со списком пожелавших обучаться по специализации номер 2 (машинопись) – результат обработки запроса.
- Закройте окно результата запроса щелчком по его кресту. В окне БД в списке запросов появляется значок нового запроса с указанным Вами именем. Он выделен темным фоном. Не снимайте выделение!
- Создание нового запроса «Машинопись» путём доработки в режиме Конструктора существующего запроса «СлушателиПоСпец2»
В созданном только что запросе выводится список слушателей, пожелавших пройти (но необязательно фактически прошедших) обучение по специализации номер 2. Создадим на его основе новый запрос с формулировкой: «Вывести фамилии всех слушателей, прошедших обучение машинописи, с указанием сроков обучения».
Фактическое прохождение обучения определяется зачислением слушателя в одну из учебных групп. Пока слушатель не зачислен в группу, в поле Группа таблицы Слушатели находится значение «—».
- Выберите в окне Вашей БД объект «Запрос» в списке объектов слева, если был выбран другой объект.
- Выделите «мышью» Запрос СлушателиПоСпец2, если он не выделен, затем щёлкните по инструменту «Копировать» и сразу по инструменту «Вставить» в Панели инструментов Access. Появится окно «Вставка», в котором введите имя копии запроса, а именно «Машинопись» (без кавычек) и щёлкните по кнопке ОК. Значок нового запроса выделен. Не снимайте выделения!
- Откройте окно конструирования запроса Машинопись, для чего щёлкните «мышью» по значку «Конструктор» .
- Добавьте в запрос таблицу Группы, которая содержит данные о сроках обучения. Для этого выполните команду Запрос – Отобразить таблицу или щёлкните «мышью» по инструменту «Отобразить таблицу» , – появится окно «Добавление таблицы». Выберите «мышью» таблицу Группы и щёлкните по кнопке «Добавить». Закройте окно «Добавление таблицы» кнопкой «Закрыть».
- В нижней части окна Конструктора в первом столбце в строке «Имя таблицы:» выберите в выпадающем списке таблицу Группы вместо таблицы Слушатели. В строке «Поле:» выберите в выпадающем списке поле КодСпециал вместо поля ЗаявСпециал. Теперь номер специализации будет проверяться по таблице Группы, что означает фактическую специализацию, по которой пройдено обучение.
- Из таблицы Группы поместите в запрос ДВОЙНЫМ щелчком «мыши» поля Начало (в 3-й столбец) и Окончание (в 4-й столбец). Из таблицы Слушатели поместите поле Группа (в 5-й столбец).
- В последнем, 5-м столбце уберите «галочку» в строке «Вывод на экран». Затем здесь же в строке «Условие отбора:» введите <>’-‘ Это выражение означает отбор только тех слушателей, которые были зачислены в группы, поскольку знак ‘-‘ означает отсутствие группы, а Вы записали в условии «не равно ‘-‘».
- Выполните запрос командой Запрос — Запуск или щёлкните «мышью» по значку «Запуск» . Обратите внимание, этот запрос вывел меньше записей, чем предыдущий. Это значит, что фактически обучились машинописи не все, кто желал.
- Сохраните доработанный запрос щелчком по значку «Сохранить» и закройте его.
Запрос предназначен для формирования списков слушателей по группам в алфавитном порядке.
- В окне Базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».
- В этом окне для выбора способа создания запроса Конструктор (первый в списке) щёлкните по ОК. Появится окно Конструктора и окно «Добавление таблицы».
- Из окна «Добавление таблицы» последовательно добавьте в окно Конструктора таблицы Группы и Слушатели и закройте окно «Добавление таблицы».
- Подберите размеры таблиц и их расположение в верхней части окна конструктора так, чтобы были хорошо видны все поля таблиц и связи между таблицами.
- Выберите ДВОЙНЫМ щелчком «мыши» из таблицы Группы поле НомерГруппы. Оно попадёт в 1-й столбец Конструктора запросов. Из таблицы Слушатели точно также ДВОЙНЫМ щелчком «мыши» поместите поля Фамилия, Имя, Отчество во 2-й, 3-й и 4-й столбцы конструктора запросов.
- В первом столбце в строке «Условие отбора:» введите условие <>’-‘ (не равно ‘-‘), что означает отбор только тех слушателей, которые были зачислены в группы.
- В столбцах с первого по третий в строке «Сортировка:» выберите в выпадающем списке вариант «по возрастанию».
- Запрос готов. Сохраните его под именем «СпискиГрупп».
- Проверьте работу запроса, перейдя в режим таблицы щелчком «мыши» по инструменту «Вид» в панели инструментов Access. Вы увидите списки всех групп в алфавитном порядке.
- Чтобы просмотреть список слушателей не всех групп, а какой-нибудь одной группы, выберите «мышью» ячейку с номером любой группы, а затем щёлкните по инструменту «Фильтр по выделенному» в панели инструментов Access. В таблице останутся только записи, относящиеся к выбранной группе, остальные записи будут скрыты.
Чтобы снова увидеть все списки, щёлкните «мышью» по инструменту «Удалить фильтр» .
- Применяя и удаляя фильтр по номеру группы, просмотрите списки слушателей нескольких групп.
- Закройте запрос.
ТЕОРИЯ: Параметрические запросы
Рассмотренные выше запросы можно назвать постоянными, так как условия отбора данных заданы жёстко. Существуют параметрические запросы, в которых некоторые значения (параметры) вводятся в диалоге при выполнении запроса.
- Формирование параметрического запроса
Запрос с параметром создадим на основе существующего запроса Машинопись, для чего этот запрос необходимо скопировать и изменять уже копию.
- Аналогично предыдущему упражнению в окне базы данных скопируйте запрос Машинопись при помощи инструментов «Копировать» и «Вставить». Новому запросу присвойте имя «ОбученыПоСпециализации».
- Перейдите в режим Конструктора щелчком по инструменту «Конструктор».
- Вместо значения 2 в строке «Условие отбора» в поле КодСпециал введите обязательно в квадратных скобках: [Номер специализации]. Текст в квадратных скобках будет выводиться в диалоге при обработке запроса.
- Выполните команду меню Запрос — Параметры… Открывается диалоговое окно «Параметры запроса». В первой строке в поле «Параметр» введите слова «Номер специализации» (без кавычек), перейдите в поле «Тип данных» и выберите в выпадающем списке «Длинное целое». Закройте диалоговое окно кнопкой ОК.
- Параметрический запрос готов. Сохраните его ещё раз щелчком «мыши» по кнопке «Сохранить» и закройте окно запроса.
- Откройте параметрический запрос щелчком «мыши» по кнопке «Открыть». Появится диалоговое окно «Введите значение параметра». Введите число 1 и щёлкните по кнопке ОК. Вы получите список слушателей по специализации номер 1 (Windows с «нуля»).
- Закройте окно Запроса с параметром.
- Формирование параметрического запроса «Справка»
Формулировка запроса: «Вывести фамилию, имя, отчество, специализацию и сроки обучения конкретного слушателя, прошедшего обучение в УЦ «БИТ»».
- В окне БД выберите объект «Запрос», если был выбран другой объект, и щёлкните «мышью» по инструменту «Создать». Появится окно «Новый запрос».
- В окне «Новый запрос» выделен фоном режим Конструктор; щёлкните «мышью» по кнопке ОК. Откроется окно конструктора «Запрос<n>: запрос на выборку» и одновременно диалоговое окно «Добавление таблицы».
- Добавьте в окно конструктора запроса таблицы Слушатели и Группы, которые содержат нужные данные. Для этого выберите их «мышью» (по очереди) в окне «Добавление таблицы» и щёлкните по кнопке «Добавить». Закройте окно «Добавление таблицы» кнопкой «Закрыть».
- Отрегулируйте положение и размеры отображения таблиц в верхней части окна конструктора запроса так, чтобы были видны названия всех полей. В нижней части окна Вы формируете запрос.
- Вставьте ДВОЙНЫМ щелчком «мыши» поля Фамилия, Имя и Отчество из таблицы Слушатели в первый, второй и третий столбцы запроса.
- Вставьте ДВОЙНЫМ щелчком «мыши» поля КодСпециал, Начало и Окончание из таблицы Группы в верхней части окна поочерёдно соответственно в четвёртый, пятый и шестой столбцы запроса.
- В первом столбце в строке «Условие отбора:» введите в квадратных скобках слова: [Фамилия слушателя:]. Запрос готов.
- Сохраните запрос под именем «Справка» (без кавычек) и закройте его. В окне БД в списке запросов появляется значок нового запроса с именем «Справка».
- Выделите значок запроса «Справка» и откройте запрос щелчком по значку «Открыть». Появляется окно «Введите значение параметра». Введите фамилию Михайлов и щёлкните по ОК. Вы увидите результат Вашего параметрического запроса.
Этот запрос Вам понадобится для выдачи справок слушателям о сроках их обучения в УЦ «БИТ» в виде объектов-отчётов.
- Закройте окно с результатом параметрического запроса.
- Создание параметрического Запроса для расчёта учебной нагрузки преподавателей за месяц
В дальнейшем Вам потребуется запрос, который выдаёт количество учебных часов занятий, проведённых каждым преподавателем по каждой специализации за указанный промежуток времени, как правило, за месяц. Границы промежутка времени целесообразно задать в виде двух параметров запроса: ПериодНачало (Дата начала обучения) и ПериодКонец (Дата окончания обучения).
- В окне базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».
В этом окне выберите способ создания запроса – Конструктор.
- Включите в запрос последовательно таблицы: Преподаватели, Группы, Специализации.
- Настройте размеры изображения таблиц в верхней части окна конструктора так, чтобы были хорошо видны все поля и связи.
- Поместите в последовательные столбцы таблицы Конструктора поле Фамилия из таблицы Преподаватели, поля Специализация, Объем из таблицы Специализации, поля Начало, Окончание из таблицы Группы.
- Вместо имени поля Фамилия таблицы Преподаватели в Конструкторе необходимо ввести следующее выражение (с пробелом между кавычуками):
Преподаватель: [Фамилия] & » » & [Имя] & » » & [Отчество]
Это позволит вместо поля Фамилия подставлять одновременно фамилию, имя и отчество преподавателя.
- Вместо имени поля Объем таблицы Специализации в Конструкторе необходимо ввести следующее выражение, в котором используется функция Iif() языка программирования Visual Basic for Applications (описание этой и некоторых других функций приведено в Приложении 4):
Нагрузка: Объем * iif(Группы!Начало >= [ПериодНачало] And Группы!Окончание <= [ПериодКонец]; 1; 0,5)
Вы сделаете это при помощи Построителя выражений в следующем упражнении, а сейчас введите выражение «вручную».
Смысл введённого выражения можно передать следующими словами:
«Если период занятий группы, заданный полями Начало и Окончание таблицы Группы, полностью принадлежит интервалу, задаваемому параметрами запроса [ПериодНачало] и [ПериодКонец], то берётся весь этот период – умножается на 1. В противном случае берётся половина периода – умножается на 0,5».
- В столбце с полем Начало в строке «Условие отбора:» введите в точности следующее выражение:
Between [ПериодНачало] And [ПериодКонец]
На языке баз данных это эквивалентно отношению:
[ПериодНачало] £ [Дата начала обучения] £ [ПериодКонец]
- В столбце с полем Окончание в строке «или:» скопируйте условие отбора из предыдущего столбца:
Between [ПериодНачало] And [ПериодКонец]
На языке баз данных это эквивалентно отношению:
[ПериодНачало] £ [Дата окончания обучения] £ [ПериодКонец]
На русском языке смысл пунктов 6-7 можно сформулировать так.
«Отобрать учебные группы, для которых дата начала обучения или дата окончания обучения приходятся на указанный параметрами запроса промежуток времени».
- Выполните команду меню Запрос — Параметры… Открывается диалоговое окно «Параметры запроса».
В первой строке в столбце «Параметр» введите «ПериодНачало» (без кавычек), перейдите в столбец «Тип данных» и выберите в выпадающем списке «Дата/Время».
Во второй строке в столбце «Параметр» введите «ПериодКонец» (без кавычек), перейдите в столбец «Тип данных» и выберите в выпадающем списке «Дата/Время». Закройте диалоговое окно кнопкой ОК.
- Сохраните запрос под именем «УчебнаяНагрузкаПреподавателей». Проверьте выполнение запроса. Для параметра ПериодНачало введите 01.03.2007, затем для параметра ПериодКонец введите 31.03.2007, то есть задайте определение нагрузки преподавателей за март 2007 года.
- Закройте окно запроса.
- Создание Запроса «Учебная_Нагрузка_Преподавателей» с использованием Построителя выражений
- В окне базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».
В этом окне выберите способ создания запроса – Конструктор.
- Включите в запрос последовательно таблицы: Преподаватели, Группы, Специализации.
- Настройте размеры изображения таблиц в верхней части окна конструктора так, чтобы были хорошо видны все поля и связи.
- Поместите в последовательные столбцы таблицы Конструктора поля Фамилия, Имя, Отчество из таблицы Преподаватели, поля Специализация, Объем из таблицы Специализации, поля Начало, Окончание из таблицы Группы.
- Вместо имени поля Объем таблицы Специализации введите следующее выражение:
Нагрузка: Объем * iif(Группы!Начало >= [ПериодНачало] And Группы!Окончание <= [ПериодКонец]; 1; 0,5)
при помощи Построителя выражений. Для этого:
- Позиционируйте курсор перед именем поля Объем таблицы Специализации и щёлкните «мышью» по инструменту «Построить» в панели инструментов Конструктора запросов . – открывается окно Построителя выражений:
- В окне построителя перед словом «Объём» введите «Нагрузка: » (с двоеточием без кавычек), а после слова «Объём»вставьте знак умножения Ý.
- В левой нижней области окна построителя ДВОЙНЫМ щелчком «мыши» разверните группу «Функции». В развернувшемся поддереве выберите щелчком папку «Встроенные функции».
- В средней нижней области окна построителя выберите щелчком группу функций «Управление». В правой нижней области окна построителя выберите щелчком функцию iif – «immediate if — непосредственное если». Внизу окна построителя отображается краткое описание функции.
- Щёлкните по кнопке «Вставить» – функция добавляется в выражение. При этом обозначаются три аргумента функции:
«expr» – первый аргумент: логическое выражение (условие); от expression – выражение;
«truepart» – второй аргумент: выражение, которое вычисляется, если условие выполнено: (true – истинный);
«falsepart» – третий аргумент: выражение, которое вычисляется, если условие не выполнено: (false – ложный);
- Щёлкните по первому аргументу «expr» – аргумент выделяется фоном. В левой нижней области окна построителя двойным щелчком разверните группу «Таблицы». В развернувшемся поддереве выберите щелчком папку «Группы». В средней нижней области окна построителя отображаются поля таблицы Группы.
- В средней нижней области окна построителя выберите щелчком поле Начало и щёлкните по кнопке «Вставить». В области выражения щёлкните по слову «Выражение», чтобы выделить его, затем щёлкните последовательно по кнопкам операций «>», «=». В выражении все символы, включая пробелы, между > и = нужно удалить! Получилась операция отношения «больше или равно» (можно было просто ввести с клавиатуры два символа подряд, без пробела, >=).
- Справа от операции отношения, перед точкой с запятой, введите [ПериодНачало]. Затем вставьте And щёлком по кнопке операции «And».
- Действуя аналогично пп. 5.7-5.8, сформируйте вторую часть условия [Группы]![Окончание]<=[ПериодКонец] (см. выше готовую формулу).
- Щёлкните по второму аргументу «truepart» – аргумент выделяется фоном. Введите с клавиатуры число 1
- Щёлкните по третьему аргументу «falsepart» – аргумент выделяется фоном. Введите с клавиатуры число 0,5
Выражение готово. Щёлкните по кнопке ОК. Смысл этого выражения можно передать следующими словами.
Если период занятий группы, заданный полями Начало и Окончание таблицы Группы, полностью принадлежит интервалу, задаваемому параметрами запроса [ПериодНачало] и [ПериодКонец], то берётся весь этот период (1). В противном случае берётся половина периода (0,5).
- В столбце Начало в клетке «Условие отбора:» введите «вручную» в точности следующий текст (использование построителя выражений в данном случае не даёт реального выигрыша, так как «[ПериодНачало]» и «[ПериодКонец]» всё равно придётся вводить с клавиатуры):
Between [ПериодНачало] And [ПериодКонец]
Это выражение на языке баз данных это эквивалентно отношению:
[ПериодНачало] £ [Дата начала обучения] £ [ПериодКонец]
- В столбце Окончание в клетку «или:» скопируйте условие отбора из предыдущего столбца:
Between [ПериодНачало] And [ПериодКонец]
На языке баз данных это эквивалентно отношению:
[ПериодНачало] £ [Дата окончания обучения] £ [ПериодКонец]
На русском языке смысл пунктов 5-7 можно сформулировать так.
Отобрать учебные группы, для которых дата начала обучения или дата окончания обучения приходятся на указанный параметрами запроса промежуток времени. Для этих групп взять объём учебных часов, причём, если весь период обучения лежит в указанном промежутке времени, то берётся полный объём часов по специализации (коэффициент 1), иначе берётся половина объёма часов (коэффициент 0,5).
- Выполните команду меню Запрос — Параметры… Открывается диалоговое окно «Параметры запроса».
В первой строке в поле «Параметр» введите «ПериодНачало» (без кавычек), перейдите в поле «Тип данных» и выберите в выпадающем списке «Дата/Время».
Во второй строке в поле «Параметр» введите «ПериодКонец» (без кавычек), перейдите в поле «Тип данных» и выберите в выпадающем списке «Дата/Время». Закройте диалоговое окно кнопкой ОК.
- Сохраните запрос под именем «Учебная_Нагрузка_Преподавателей». Проверьте выполнение запроса. Для параметра ПериодНачало введите 01.03.2007, для параметра ПериодКонец введите 31.03.2007, то есть задайте определение нагрузки преподавателей за март 2007 года.
- Закройте окно запроса.
ТЕОРИЯ: Запросы с группировкой
Запросы с группировкой – это важная разновидность запросов, в которых выполняется не просто выборка данных из таблиц, но также выполняются и так называемые «групповые операции» над значениями указанных полей.
Групповыми операциями являются: Count – подсчёт количества записей, Sum – суммирование значений, Max, Min – определение максимального и минимального значений, Avg – вычисление среднего и др.
В следующем упражнении с помощью операции Count будет выполняться подсчёт количества записей в таблице Слушатели, у которых одинаковы значения поля Группа, т.е. будет подсчитано количество слушателей в каждой группе. Кроме того, с помощью операции Sum будет подсчитана выручка по каждой группе.
- Создание Запроса «ИнфоГрупп»
- В окне базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».
- В этом окне выберите способ создания запроса – Конструктор.
- Включите в запрос таблицу Слушатели и настройте размеры изображения таблицы в верхней части окна конструктора так, чтобы были хорошо видны все поля.
- Поместите поля Группа, РегНомер и СуммаОплаты ДВОЙНЫМ щелчком «мыши» в 1-й, 2-й и 3-й столбцы таблицы Конструктора.
- Включите режим группировки данных с помощью инструмента «Групповая операция» на панели инструментов. После этого в таблице Конструктора запросов в строке «Групповая операция:» в трёх столбцах появится выпадающий список групповых операций под именем «Группировка».
- Во втором столбце выберите в выпадающем списке «Группировка» операцию Count, т.е. подсчёт количества записей с одинаковыми значениями в поле Группа.
- Перед именем поля РегНомер вставьте, т.е. введите псевдоним «Слушателей: » (с двоеточием и пробелом, но без кавычек).
- В третьем столбце выберите в выпадающем списке «Группировка» операцию Sum, т.е. подсчёт суммы оплаты (выручки) слушателей с одинаковыми значениями в поле Группа.
- Перед именем поля СуммаОплаты вставьте, т.е. введите псевдоним «Выручка: » (с двоеточием и пробелом, но без кавычек).
- Проверьте работу запроса щелчком по инструменту «Запуск» . Запрос показывает количество слушателей и выручку в каждой группе. Обратите внимание на «группу номер —». Значение поля Слушателей для неё – это количество слушателей, не зачисленных ни в одну группу.
- Сохраните запрос под именем «ИнфоГрупп» и закройте окно запроса.
Простые запросы извлекают данные из одной-двух таблиц. Сложные запросы извлекают данные из нескольких таблиц и других запросов. Так могут образовываться цепочки (каскад) запросов, осуществляющих последовательный отбор данных. Вам предстоит создать сложный запрос ДляПриказа, в котором используются ранее созданные запросы СпискиГрупп и ИнфоГрупп. Запрос ДляПриказа понадобится Вам при создании отчёта Приказ.
- Создание каскадного Запроса «ДляПриказа»
- В окне Базы Данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос». В этом окне выберите способ создания запроса Конструктор. Появятся окно Конструктора и окно «Добавление таблицы».
- В окне «Добавление таблицы», на вкладке «Таблицы», последовательно добавьте в Конструктор запросов таблицы Преподаватели, Группы, Специализации, а из вкладки «Запросы» добавьте запрос ИнфоГрупп. Закройте окно «Добавление таблицы».
- Расположите изображения таблиц и запроса в верхней части окна конструктора так, чтобы были хорошо видны все поля таблиц и связи между таблицами.
- В окне Конструктора должны автоматически отобразиться связи таблиц Преподаватели и Группы по одноимённым полям КодПрепод, таблиц Специализации и Группы по одноимённым полям КодСпециал в том виде, как они представлены в Схеме данных. Связь таблицы Группы с запросом ИнфоГрупп по полям соответственно НомерГруппы и Группа необходимо установить «вручную», протаскивая «мышь» от одного поля к другому.
- Выберите в таблицах и переместите в соответствующие столбцы Конструктора нужные для запроса поля (в столбцы 1, 2, 3, 4, 5), а другие поля (в столбцах 6, 7, 8) введите в соответствии с нижеследующей вспомогательной таблицей.
Поля запроса ДляПриказа в окне Конструктора
| Поле: | НомерГруппы | Специализация | Слушателей | Начало | Окончание |
| Имя таблицы: | Группы | Специализации | ИнфоГрупп | Группы | Группы |
| Условие отбора: | <>’-‘ |
(продолжение таблицы)
| Время: Choose([Группы]![Смена]; «9 — 12 час»; «12 — 15 час»; «15 — 18 час»; «18 — 21 час») | Преподаватель: [Преподаватели]![Фамилия] & « » & Left([Преподаватели]![Имя]; 1) & «.» & Left([Преподаватели]![Отчество]; 1) & «.» | Менеджер: «Волкова И.М.» |
Пояснение к таблице «Поля запроса ДляПриказа»:
1) В столбце 1 (НомерГруппы) в строке «Условие отбора» указано условие выбора только сформированных групп. Несформированные группы отмечены как ‘-‘.
2) В столбцах 6 и 7 значения полей формируются с использованием функций языка программирования Visual Basic. Будьте внимательны при вводе скобок и знаков препинания – здесь требуется абсолютная точность.
3) В поле с псевдонимом «Время: » с помощью функции Choose (выбрать) по номеру смены 1, 2, 3 или 4 выбирается время занятий: «9 -12 час», «12 -15 час» и т.д.
4) В поле с псевдонимом «Преподаватель: » из значений полей Фамилия, Имя, Отчество, например, Иванов Иван Иванович, формируется фамилия с инициалами: Иванов И.И. ВАЖНО: после поля [Фамилия] в кавычках стоит ПРОБЕЛ!
5) В поле с псевдонимом «Менеджер: » подставляются конкретная фамилия и инициалы менеджера (в кавычках), которые указываются в приказе, но отсутствуют в базе данных. Так тоже можно!
- Сохраните запрос под именем «ДляПриказа».
- Проверьте работу запроса щелчком по инструменту «Запуск». Он отбирает из базы все данные, необходимые для формирования приказа о зачислении слушателей. Этот запрос выводит данные по всем группам. Чтобы оставить данные только для одной группы, при использовании запроса нужно применить фильтр.
- Закройте окно запроса.
Перекрёстный запрос – это специальный вид запроса с группировкой. Он вычисляет значения групповой функции для заданного поля таблицы с группировкой по значениям двух других полей в той же таблице или в связанных таблицах.
Результат запроса представляется в виде «перекрёстной таблицы», в которой каждая пара значений группируемых полей определяет клетку, где стоит значение групповой функции.
Например, для Вашей БД можно найти количество слушателей из таблицы Слушатели, которых обучил каждый преподаватель (строка перекрёстной таблицы) по каждой специализации (столбец перекрёстной таблицы).
- Создание перекрёстного запроса «Подготовлено
Слушателей»- В окне Базы Данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос». В этом окне выберите способ создания запроса Конструктор. Появятся окно Конструктора и окно «Добавление таблицы».
- В окне «Добавление таблицы», на вкладке «Таблицы», в указанном порядке добавьте в Конструктор запросов таблицы Преподаватели, Группы, Специализации, Слушатели. Закройте окно «Добавление таблицы».
- Настройте размеры всего окна, его верхней части и изображений таблиц так, чтобы были хорошо видны все поля таблиц и связи между ними.
- В заголовке окна Конструктора запросов указано «запрос на выборку». Этот тип Запроса нужно поменять на «перекрёстный запрос». Для этого:
- На панели инструментов найдите инструмент «Тип запроса» (он имеет кнопку выпадающего списка).
- Раскройте список и выберите тип Перекрёстный. Обратите внимание на то, что вид таблицы в нижней части окна изменился!
- Заполните ячейки таблицы в нижней части окна Конструктора запросов в соответствии со следующей таблицей.
Табл. 10. Таблица в окне конструктора перекрёстного запроса
| Поле: | См. пояснение | Специализация | PerНомер | НомерГруппы |
| Имя таблицы: | Специализации | Слушатели | Группы | |
| Групповая операция: | Группировка | Группировка | Count | Условие |
| Перекрёстная таблица: | Заголовки строк | Заголовки столбцов | Значение | |
| Сортировка: | по возрастанию | |||
| Условие отбора: | <>’-‘ |
Пояснение к таблице
- В строке «Поле:» в первую ячейку нужно ввести не имя поля, а следующее выражение (с пробелом между кавычками):
Преподаватель: Преподаватели!Фамилия & « » & Преподаватели!Имя & « » & Преподаватели!Отчество
Это выражение позволяет выбрать из таблицы «Преподаватели» значения полей Фамилия, Имя, Отчество и сформировать из них единую строку для каждого преподавателя.
- Имена других полей вместе с именем таблицы Вы переносите «мышью» из таблиц в верхней части Конструктора (ДВОЙНЫМ щелчком «мыши» по имени поля).
- Содержимое ячеек таблицы в 3-й, 4-й и 5-й строках Вы выбираете в выпадающих списках, которые появляются после щелчка «мышью» по пустой ячейке.
- В последнем столбце в строке «Условие отбора:» введите логическое выражение: <>’-‘ (см. рис. 5), которое означает выбор только тех групп, у которых есть номер.
- Щелчком по кнопке «Сохранить» сохраните запрос под именем «ПодготовленоСлушателей».
Рис. 5. Окончательный вид перекрёстного запроса в окне Конструктора.
- Выполните запрос щелчком по значку «Запуск». Он выведет количество слушателей, подготовленных каждым преподавателем по всем специализациям. Такого вида запросы и называются перекрёстными.
ТЕОРИЯ: Разработка и использование сложных Форм
Вы знакомы с простыми автоформами. Мастер форм и, особенно, Конструктор позволяют создавать гораздо более сложные формы – с богатым набором элементов управления: статических надписей, полей редактирования текста, списков, кнопок, рисунков и других интерфейсных элементов Windows, которые делают работу с данными понятной и наглядной. Форму можно сравнить с карточкой картотеки, которую нужно заполнить или исправить.
Элементы формы заполняются из источника данных, которым может быть одна таблица или запрос, извлекающий данные из полей нескольких таблиц.
Разработчик формы определяет её содержание и дизайн, описывает связь элементов формы с полями данных таблиц. Тот, кто пользуется формой, может не знать многих деталей внутреннего устройства БД, то есть форма упрощает взаимодействие пользователя с базой.
- Разработка заготовки формы с помощью Мастера форм
Когда человек, желающий пройти обучение по одному из курсов, приходит в учебный центр, он регистрируется. Сведения о слушателе заносятся в Базу данных, и это удобнее всего осуществить с помощью соответствующей Формы.
Есть несколько способов создания Форм. Значительно упрощает создание Форм автоматизированная процедура – Мастер форм.
- В окне БД выберите объект «Формы» и щёлкните «мышью» по кнопке «Создать». Появится диалоговое окно «Новая форма».
- Разверните выпадающий список источников данных и выберите в этом выпадающем списке таблицу Слушатели, так как в эту таблицу будут вводиться данные посредством Формы.
- Выберите щелчком «мыши» способ создания формы – «Мастер форм» и щёлкните по кнопке ОК – открывается диалоговое окно «Создание форм».
- Первый шаг мастера. Сформируйте перечень полей Формы, перенося имена полей из левой рамки «Доступные поля» в правую рамку «Выбранные поля» с помощью кнопочки > . В случае ошибки поле можно вернуть в левую рамку кнопочкой < . В данном случае Вам в Форме понадобятся все поля таблицы Слушатели, поэтому щелкните по кнопочке >> – перенос всех полей сразу.
- Щёлкните «мышью» по кнопке «Далее >».
- Второй шаг мастера. Выберите внешний вид формы – «в один столбец» и щёлкните «мышью» по кнопке «Далее >».
- Третий шаг мастера. Щёлкая «мышью», просмотрите все стили оформления, начиная со стиля «Диффузный». Выберите тот, который в Вашем вкусе, и щёлкните «мышью» по кнопке «Далее >».
- Четвёртый шаг мастера. Задайте имя формы – введите имя «РегистрацияСлушателей» и щёлкните «мышью» по кнопке «Готово».
Вы увидите готовую форму РегистрацияСлушателей, где все поля расположены в столбец. В форме отображается первая запись источника данных.
- «Погуляйте» по записям, щёлкая по кнопкам в панели навигации в самом низу формы. Вид панели навигации приведён на Рис. 6
Рис. 6. Панель навигации по записям
ТЕОРИЯ: Доработка формы с помощью Конструктора форм
Любая форма, созданная с помощью Мастера, не может быть идеальной, но её можно доработать «вручную». У только что созданной Вами формы есть недостатки:
- нет заголовка, а расположение полей формы не слишком функционально;
- размеры элементов формы не оптимальны;
- в качестве названий элементов данных в форме взяты имена полей, которые выглядят не совсем естественно;
- дату оплаты приходится вводить, хотя можно было бы подставлять текущую дату автоматически.
Любую форму можно доработать «вручную», используя Конструктор форм. Форма в режиме конструктора имеет три области (см. Рис. 7): заголовок формы, область данных и примечание формы.
- Доработка Формы в Конструкторе форм
- Переключитесь в режим конструирования формы щелчком «мыши» по значку «Конструктор» в Панели инструментов. Появится окно Конструктора, в котором в области данных в два столбика выведены в прямоугольных рамках все поля таблицы (правый столбик) и связанные с ними надписи к полям (левый столбик).
- Прежде всего, необходимо расширить рабочую область конструктора формы.
- Для этого сначала разверните окно конструктора формы щелчком по кнопке «Развернуть».
- Затем «ухватитесь» указателем «мыши» за правую сторону области формы и расширьте эту область вправо до вертикальной линейки прокрутки.
- Далее «ухватитесь» указателем «мыши» за нижнюю сторону области формы и переместите её вниз до горизонтальной линейки прокрутки.
- Теперь «ухватитесь» указателем «мыши» за нижнюю границу полоски «Заголовок формы» и переместите её вниз, чтобы расширить «Область заголовка» примерно на 1,5 клетки.
- Теперь «ухватитесь» указателем «мыши» за верхнюю границу полоски «Примечание формы» и переместите её вниз, чтобы расширить «Область данных».
- В окне конструктора формы в области данных Мастером в левом столбце выведены рамки с «Надписью к полю», связанные с соответствующими им рамками «Поле», выведенными в правом столбце.
Текст в рамках «Надпись к полю» при необходимости можно менять, а в рамках «Поле» будут выводиться фактические данные из таблицы Слушатели.
Размеры обеих связанных рамок в форме можно менять. Щёлкните «мышью» по рамке поля РегНомер (правый столбец). У рамки появятся размерные маркеры. Далее ухватитесь «мышью» за правый маркер так, чтобы появилась двунаправленная горизонтальная стрелка, и двигайте стрелку влево, чтобы уменьшить ширину рамки примерно до 1 см – для трёхзначных номеров больше не нужно.
Рис. 7. Примерный макет формы в режиме Конструктора
- Если это необходимо, откорректируйте ширину остальных полей формы так, чтобы в них нормально помещались их значения. Для просмотра значений периодически переходите в режим Формы с помощью инструмента «Вид» на панели инструментов Access.
- Поля формы можно перемещать вместе со связанной надписью. Щёлкните «мышью» по рамке поля ЗаявСпециал. У рамки появятся размерные маркеры. Подведите указатель «мыши» к нижней или верхней стороне рамки, где он должен превратиться в «ладошку». Когда это произойдет, переместите рамку вправо и вверх так, как показано на Рис. 7.
- Таким же способом расположите другие поля формы согласно Рис. 7.
Дальнейшие операции удобно выполнять в окне свойств элементов формы. Откройте это окно с помощью инструмента «Свойства» на панели инструментов Access и отрегулируйте размеры этого окна. В окне свойств выберите вкладку «Все», если выбрана другая вкладка.
- Измените связанные надписи у некоторых полей следующим образом:
- Выберите щелчком мыши надпись «РегНомер» (слева от поля «РегНомер»). В окне свойств отобразятся параметры этой надписи.
- Отредактируйте значение свойства «Подпись» так, чтобы вместо «РегНомер» получилось «Регистрацион- ный номер». Уменьшением ширины до 2,5 см и увеличением высоты элемента до 1 см в окне свойств добейтесь размещения этой надписи в две строки так, как показано на Рис. 7.
- Аналогичным образом измените остальные подписи, в соответствии с Рис. 7.
- Доработка поля РегНомер: изменение цвета текста и запрет доступа.
- Щёлкните «мышью» по рамке поля РегНомер, чтобы у рамки появились размерные маркеры.
- Разверните список цветов у инструмента «Цвет текста» в Панели форматирования Access и выберите тёмно-серый цвет.
- В окне свойств измените следующие параметры: «Доступ» на «Нет», «Блокировку» на «Да». Это необходимо, чтобы запретить доступ к полю для его произвольного изменения, так как его значение вводится автоматически.
- Доработка поля ДатаОплаты для автоматической вставки даты:
- Выберите щелчком «мыши» рамку поля ДатаОплаты.
- В окне свойств для параметра «Значение по умолчанию» введите выражение =Date(). Это выражение – обращение к функции определения текущей даты.
- Чтобы ввести заголовок формы в области заголовка, нужна Панель управляющих элементов. Щёлкните по кнопке «Панель элементов» в стандартной Панели Access. Оттащите появившуюся Панель элементов «мышью» вниз окна:
- Щёлкните по кнопке Аа – Надпись в Панели элементов, зафиксируйте указатель «мыши» в виде буквы А с перекрестием в первой клетке Области заголовка и введите заголовок формы: «Регистрация слушателей» (без кавычек) и нажмите клавишу Enter.
- Надпись окажется в обрамляющей рамке с маркерами. Только в этом случае можно задавать свойства (параметры) надписи. Установите «на глаз» мышью рамку с заголовком по центру формы и выберите для заголовка шрифт Arial, полужирный, размер 12 пунктов, выравнивание по центру (вся рамка целиком перемещается указателем «мыши» в виде ладошки I).
- Точные значения свойств элемента вводятся в окне свойств, которое отображается на экране командой Вид — Свойства.
- Сохраните доработанную форму.
- Режимы отображения Формы
Разработанная Вами форма может отображаться на экране в режимах конструктора, формы или таблицы. Выбор режима производится в меню «Вид» или при помощи инструмента «Вид» на панели инструментов Access.
- Выполните команду Вид — Режим формы – Вы увидите основной способ отображения формы на экране. В режиме формы видна только одна, текущая запись.
- Раскройте выпадающий список инструмента «Вид» на панели инструментов Access и выберите «Режим таблицы». Окно формы принимает вид, очень похожий на представление таблицы. В этом режиме видно сразу много записей, каждая запись занимает отдельную строку таблицы. Обратите внимание: в отличие от таблицы «Слушатели» в Форме в режиме таблицы вместо имён полей используются надписи к полям.
- Снова перейдите в основной режим для форм – режим формы.
- Восстановите окно формы щелчком мыши по значку «Восстановить окно», если оно развёрнуто на весь экран, и выполните команду Окно — По размеру формы. Это необходимо для выполнения следующих упражнений.
Формы предназначены для работы с записями одной или нескольких таблиц, а именно: просмотра, корректировки, добавления, копирования, удаления.
При работе посредством форм с таблицами, содержащими тысячи записей, приобретают большое значение такие средства, как поиск и сортировка записей, применение фильтра данных.
- Ввод, копирование, корректировка и удаление
записей в форме- Откройте меню Записи и выполните команду Ввод данных. Произойдёт позиционирование формы на последнюю запись таблицы, в форме показывается пустая запись. А можно было просто щёлкнуть внизу формы по кнопке }Ý (добавление новой записи).
- Занесите в форму данные о себе, начиная с выбора специализации и смены занятий в соответствующих выпадающих списках. Выберите Windows с «нуля» и смену 4.
Затем введите Вашу фамилию, имя, отчество и номер телефона.
Введите сумму оплаты – 3000 р. и желательную дату начала занятий – ближайший понедельник от текущей даты.
Ваш регистрационный номер и дата оплаты проставляются автоматически.
Завершив ввод всех своих данных, щёлкните по кнопке }Ý (внизу формы).
- Чтобы скопировать или удалить запись, её сначала необходимо выделить.
- Используя кнопку (переход к 1-ой записи), а затем кнопку (переход к следующей записи), выберите запись № 10.
- Выделите запись № 10 в форме, щёлкнув «мышью» по области выделения записи – вертикальной полоске СЛЕВА от области данных формы. Эта полоска потемнеет.
- Откройте меню Правка и выполните команду Копировать. Копия записи № 10 помещается в Буфер обмена.
- Откройте меню Правка и вставьте запись № 10 из Буфера обмена в конец таблицы командой Добавить из буфера (а не командой Вставить!).
Обратите внимание на номер добавленной записи внизу Формы: он последний! Копирование записей с последующей корректировкой – это очень удобный способ ввода новых записей, сходных с уже имеющимися записями.
- Чтобы изменить значения полей какой-либо записи, её нужно сделать текущей. У нас текущей является только что вставленная последняя запись. Отредактируйте содержание элементов формы — измените имя зарегистрированного слушателя. Как только происходит первое же изменение, в области выделения записи (полоска СЛЕВА) появляется изображение карандаша, которое остаётся до тех пор, пока изменения значений не будут сохранены в БД или отменены.
- Сохранить изменённые значения можно тремя способами: 1) перейти к предыдущей записи, 2) выполнить команду Записи — Сохранить запись, 3) нажать комбинацию клавиш Shift+Enter – нажмите!
Отменить изменения значений можно клавишей Esc.
- Для удаления только что добавленной записи, а Вы её как раз и видите, выделите её в форме (щёлкните «мышью» по левому полю-полоске формы) и нажмите клавишу Delete. Программа требует подтверждения удаления записи из таблицы. Щёлкните «мышью» по кнопке «Да».
- Поиск записей в форме
Простейший способ поиска нужных данных в форме – это перебор записей при помощи кнопок навигации. Однако простой перебор приемлем лишь при небольшом количестве записей. В других случаях необходимы специальные средства поиска.
- Щёлкните «мышью» в поле формы Фамилия и выполните команду Правка — Найти либо щёлкните «мышью» по инструменту «Найти» в панели инструментов Access. Открывается диалоговое окно «Поиск и замена».
- В поле «Образец:» диалогового окна введите «Волкова» (без кавычек). В поле «Поиск в:» уже находится «Фамилия». В списке «Совпадение:», если нужно, выберите «Поля целиком» и щёлкните по кнопке «Найти далее». Вы найдёте одну женщину по фамилии Волкова. Это поиск по точному совпадению с образцом.
- В поле «Образец:» диалогового окна введите «Борис» (без кавычек). В списке «Совпадение:» выберите «С начала поля» и щёлкните по кнопке «Найти далее». Вы найдёте сначала женщину по фамилии Борисова. Щёлкните по кнопке ещё раз и Вы найдете мужчину по фамилии Борисов. Это поиск по частичному совпадению с образцом.
- В поле «Образец:» диалогового окна введите «ая» (без кавычек). В списке «Совпадение:» выберите «С любой частью поля» и щёлкните по кнопке «Найти далее». Щёлкайте по этой кнопке, пока поиск даёт результат. Вы найдёте всех слушателей с заданной комбинацией букв в фамилии.
- Найдите всех слушателей, имена которых начинаются на букву А, и подсчитайте их число.
- Закройте диалоговое окно поиска.
- Сортировка данных в форме
Записи в форме, как и в таблице, можно сортировать по значению любого поля. Сортировка позволяет группировать записи с одинаковыми значениями полей, что может быть очень удобным при работе с данными.
- Щёлкните «мышью» по надписи «Фамилия» (слева от поля Фамилия). Содержимое этого поля выделяется темным фоном.
- Затем щёлкните «мышью» по кнопке инструмента «Сортировка по возрастанию» (от А до Я).
- Щёлкая по кнопке (переход к следующей записи), убедитесь в том, что записи отсортированы в алфавитном порядке по фамилиям.
- Снова выделите поле Фамилия (если выделено другое поле). Затем щёлкните «мышью» по кнопке инструмента «Сортировка по убыванию» (от Я до А).
- Щёлкая по кнопке (переход к следующей записи), убедитесь в том, что записи отсортированы по фамилиям по убыванию (от Я до А).
- Подсчитайте количество слушателей, не зачисленных в учебные группы, после сортировки по возрастанию значения поля Группа. Если слушатель не зачислен в группу, в поле Группа проставляется «-».
Здравствуйте. Скажите пожалуйста, планирую поступать в магистратуру на факультет Психологии « Психология личности»в РГГУ скажите пожалуйста, есть ли у вас, ответы на вступительные экзамены? так как, планирую, сделать акцент на бюджет. Спасибо.
Арсений, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Дистанционная помощь в защите ВКР
Анастасия, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте. Нужна срочно практическая часть вкр, третья глава. Скину похожие работы, на которые можно ориентироваться
Александр, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
вкр по теме: экологический туризм России : анализ состояния, проблемы и перспективы
Людмила, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте вы защищаете ВКР?
Ольга, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать магистерскую ВКР на тему «Совершенствование логистических бизнес-процессов на примере торговой компании». Не менее 100 страниц.
Миша, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Здравствуйте нужна работа Вкр
Лена, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.
Написать ВКР 3 раздела Тема строительство строительство жилого дома с применением каркасно-монолитных технологий Антиплагиат от 75% ПЗ и чертежи
Владимир, здравствуйте! Прошу Вас прислать всю необходимую информацию на почту info@otlichnici.ru и написать что необходимо выполнить. Я посмотрю описание к заданиям и подскажу вам по стоимости и срокам выполнения.