РАБОТА 1

Практика Система управления базами данных Access 97Работа 1. Создание однотабличной базы данных

## РАБОТА 1. СОЗДАНИЕ ОДНОТАБЛИЧНОЙ БАЗЫ ДАННЫХ

### КРАТКАЯ СПРАВКА

### Общие сведения

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

Access является приложением Windows, а поскольку и Windows и Access разработаны одной фирмой (Microsoft), они очень хорошо взаимодействуют друг с другом. СУБД Access работает под управлением Windows; таким образом, все преимущества Windows доступны в Access, например, вы можете вырезать, копировать и вставлять данные из любого приложения Windows в приложение Access и наоборот.

Access - это реляционная СУБД. Это означает, что с ее помощью можно работать одновременно с несколькими таблицами базы данных. Применение реляционной СУБД помогает упростить структуру данных и таким образом облегчить выполнение работы. Таблицу Access можно связать с данными, хранящимися на другом компьютере или на сервере, а также использовать таблицу, созданную в СУБД Paradox или Dbase. Данные Access очень просто комбинировать с данными Excel.

В СУБД Access предусмотрено много дополнительных сервисных возможностей. Мастера помогут вам создать таблицы, формы или отчеты из имеющихся заготовок, сделав за вас основную черновую работу. Выражения используются в Access, например, для проверки допустимости введенного значения. Макросы позволяют автоматизировать многие процессы без программирования, тогда как встроенный в Access язык VBA (Visual Basic for Applications) - специально разработанный компанией Microsoft диалект языка Basic для использования в приложениях Microsoft Office - дает возможность опытному пользователю программировать сложные процедуры обработки данных. Просматривая свою форму или отчет, вы сможете представить, как они будут выглядеть в распечатанном виде. И наконец, используя такие возможности языка программирования С, как функции и обращения к Windows API (Application Programming Interface - интерфейс прикладных программ Windows), можно написать подпрограмму для взаимодействия Access с другими приложениями - источниками данных.

В Microsoft Access добавлено множество новых средств, разработанных для облегчения работы в Интернет и создания приложений для Web. Для доступа к сети Интернет и использования преимуществ новых средств необходимы средства просмотра Web, например Microsoft Internet Explorer, а также модем. Пользователь имеет возможность непосредственно подключаться к узлам Microsoft Web из программ Office (в том числе и из Access) с помощью команды Microsoft на Web из пункта меню ?. При этом можно, например, получить доступ к техническим ресурсам и загрузить общедоступные программы, не прерывая работу с Access.

Система Access содержит набор инструментов для управления базами данных, включающий конструкторы таблиц, форм, запросов и отчетов. Кроме того, Access можно рассматривать и как среду для разработки приложений. Используя макросы для автоматизации задач, вы можете создавать такие же мощные, ориентированные на пользователя приложения, как и приложения, созданные с помощью "полноценных" языков программирования, дополнять их кнопками, меню и диалоговыми окнами. Программируя на VBA, можно создавать программы, по мощности не уступающие самой Access. Более того, многие средства Access, например мастера и конструкторы, написаны на VBA. Мощность и гибкость системы Access делают ее сегодня одной из лучших программ для управления базами данных.

### Работа с мастерами

Мастер (Wizard) - специальная программа, помогающая в решении какой-то задачи или создании объекта определенного типа. Эта программа поможет вам за несколько минут выполнить рутинную работу, на которую без применения этой программы может уйти несколько часов. Программа-мастер задает вопросы о содержании, стиле и формате объекта, а затем создает этот объект без какого-либо вмешательства с вашей стороны. В Access имеется около сотни мастеров, предназначенных для проектирования баз данных, приложений, таблиц, форм, отчетов, графиков, почтовых наклеек, элементов управления и свойств.

### Информация для пользователей электронных таблиц

Те, кто знакомы с Excel, заметят, что Access во многом похож на Excel. Прежде всего, обе программы являются продуктами для Windows, следовательно, можно использовать свой опыт применения специфичных для Windows соглашений. Данные таблицы или запроса Access отображаются в виде электронной таблицы, которую принято называть таблицей данных. Вы обнаружите, что размер строк и столбцов таблицы данных можно изменять так же, как в рабочих таблицах Excel. Фактически режим ввода данных Access ничем не отличается от аналогичного режима Excel. Основное различие между таблицей базы данных (БД) и электронной таблицей - в системе адресации; в электронной таблице адресуется каждая ячейка, а в таблице БД - только поля текущей записи. В электронной таблице каждая ячейка обрабатывается индивидуально, а в таблице БД обработка идет по записям, причем записи обрабатываются однотипным образом. Эти упрощения для БД позволяют повысить скорость обработки и количество обслуживаемой информации.

### Контекстно-зависимая справка и Помощник

Справочная система фирмы Microsoft является, наверное, лучшей среди аналогичных программ как для новичков, так и для опытных пользователей. Access дает возможность использовать контекстно-зависимую справку, для получения которой достаточно нажать правую клавишу мыши. Какие бы вы ни испытывали затруднения при работе с системой, вам поможет появляющаяся на экране справка по интересующей вас теме. Помимо этого справочная система Access имеет удобные и простые в использовании содержание, предметный указатель, систему поиска, журнал хронологии и закладки. В локализованной версии Access 97(как и во всем Microsoft Office 97) компания Microsoft добавила новое средство - Помощник. Помощник отвечает на вопросы, выдает советы и справки об особенностях используемой программы.

### Структура таблицы и типы данных

Все составляющие базы данных, такие, как таблицы, отчеты, запросы, формы и объекты, в Access 97 хранятся в едином дисковом файле. Основным структурным компонентом базы данных является таблица. В таблицах хранятся вводимые нами данные. Внешне каждая таблица Access 97 похожа на таблицы, с которыми мы привыкли работать на бумаге, - она состоит из столбцов, называемых полями, и строк, называемых записями. Каждая запись таблицы содержит всю необходимую информацию об отдельном элементе базы данных. Например, запись о преподавателе может содержать фамилию, имя, отчество, дату рождения, должность и т.п.

При разработке структуры таблицы, прежде всего, необходимо определить названия полей, из которых она должна состоять, типы полей и их размеры. Каждому полю таблицы присваивается уникальное имя, которое не может содержать более 64 символов. Имя желательно делать таким, чтобы функция поля узнавалась по его имени. Далее надо решить, данные какого типа будут содержаться в каждом поле. В Access можно выбирать любые из основных типов данных. Один из этих типов данных должен быть присвоен каждому полю. Значение типа поля может быть задано только в режиме конструктора. Ниже представлены типы данных Access и их описание.

Тип данных | Описание
Текстовый (Значение по умолчанию) | Текст или числа, не требующие проведения расчетов, например номера телефонов (до 255 знаков)
Числовой | Числовые данные различных форматов, используемые для проведения расчетов
Дата/время | Для хранения информации о дате и времени с 100 по 9999 год включительно
Денежный | Денежные значения и числовые данные, используемые в математических расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков в дробной части
Поле MEMO | Для хранения комментариев; до 65535 символов
Счетчик | Специальное числовое поле, в котором Access автоматически присваивает уникальный порядковый номер каждой записи. Значения полей типа счетчика обновлять нельзя
Логический | Может иметь только одно из двух возможных значений (TrueFalse, Да/Нет)
Поле объекта OLE | Объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу Access
Гиперссылка | Строка, состоящая из букв и цифр и представляющая адрес гиперссылки. Адрес гиперссылки может состоять максимум из трех частей: текст, выводимый в поле или в элементе управления; путь к файлу (в формате пути UNC) или к странице (адрес URL). Чтобы вставить адрес гиперссылки в поле или в элемент управления, выполните команду Вставка, Гиперссылка
Мастер подстановок | Создает поле, в котором предлагается выбор значений из списка или из поля со списком, содержащего набор постоянных значений или значений из другой таблицы. Это в действительности не тип поля, а способ хранения поля

В Access существует четыре способа создания пустой таблицы:

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

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

### Ввод данных в ячейки таблицы

Ввод данных в ячейки таблицы производится обычным образом - вы переводите курсор в нужную ячейку, т.е. делаете ее активной, и вводите в нее данные (вводить данные в ячейки для поля с типом данных Счетчик не требуется, так как значения в этом поле появляются автоматически при вводе данных в любую другую ячейку данной записи). Особенности ввода следующие: при нажатии клавиши <Del> ячейка очищается; если ввод данных в ячейку прервать, нажав клавишу <Esc>, то восстанавливается старое значение, а если нажать клавиши <Enter> или <Таb>, то в ячейку заносится новое значение. Можно редактировать текущее значение, меняя в нем отдельные символы. Для этого надо в ячейке таблицы дважды щелкнуть мышью или нажать клавишу <F2>. Однако есть одна важная особенность при вводе данных - для некоторых типов данных (числовой, денежный, дата/время, логический) Access автоматически проверяет правильность их ввода. Например, если вы введете букву в ячейку с числовым типом, то Access выдаст сообщение о неправильно введенном значении и не позволит перейти к другой ячейке, пока не будут введены правильные данные.

Для всех типов полей (кроме типов Счетчик и поле объекта OLE) можно самостоятельно задавать ограничения для вводимых данных. Для этого в режиме конструктора надо выбрать вкладку Общие, перевести курсор в поле с именем "Условия на значение" и ввести ограничение на данные. Например, стаж работы вряд ли может быть более 70 лет, и ограничение будет следующее: <70. Ограничение можно вводить и на текстовое поле, Обычно в этом случае задаются слова, которые могут присутствовать в данном поле.

Примечание. Вводить ограничения можно не только вручную, но и с помощью Построителя выражений. При появлении курсора в строке параметра Условия на значение справа от нее появится кнопка с тремя точками. При щелчке по этой кнопке появляется окно построителя выражений (рис. 4.1). Обычно им пользуются для построения сложных выражений, но разобраться в его работе довольно просто при помощи справки, расположенной в этом же окне.

Можно использовать еще один удобный инструмент при вводе данных - параметр Значение по умолчанию (находится также на вкладке Общие). Здесь можно задать данные, которые Access будет вводить по умолчанию при заполнении таблицы. Это удобно использовать, когда большинство значений данного поля одинаковы и лишь некоторые отличаются. Например, должность большинства преподавателей - доцент. Если ввести это слово в строку параметра Значение по умолчанию, то все ячейки поля "Должность" примут значение Доцент и надо будет лишь изменить значения ячеек для преподавателей с другими должностями. Данные можно вводить и копированием их из одной ячейки в другую стандартными средствами Windows.

Для каждого типа данных (кроме типа данных Счетчик) предусмотрено пустое (нулевое) значение. Различают два типа пустых значений: пустые (Null) значения и пустые строки, Если пустое поле имеет пустое (Null) значение, то это означает, что данные для него существуют, но пока не известны. Если же введена пустая строка (два знака прямых кавычек (" ")), то это означает, что данные не существуют вовсе. Access позволяет обрабатывать такие пустые значения.

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

### Редактирование данных

Редактирование данных производится очень просто - курсор переводится в нужную ячейку, старые данные удаляются (клавишами <Del> или <Backspasе>) и вводятся новые данные. Удалять можно не только данные в ячейках, но и целиком строки, предварительно их выделив. Но если таблица большая, то редактируемые данные надо сначала найти. Это делается следующим образом; переводят курсор в любую ячейку поля, начиная с которой будет вестись поиск, затем открывают пункт меню Правка и выполняют команду Найти. В появившемся окне вводят образец искомых данных и щелкают по кнопке <Найти>. Если значение найдено, курсор перейдет в эту ячейку. Иногда требуется большое количество одинаковых данных заменить на другое значение. Для этого надо открыть пункт меню Правка и выполнить команду Заменить. В появившемся окне ввести образцы того, что надо найти и на что заменить. Затем надо решить, будете ли вы просматривать каждое заменяемое значение или нет. Если будете, то надо щелкнуть по кнопке <3аменить>, а если нет - один раз щелкнуть по кнопке <3аменить все>.

### Сортировка данных

Дня удобства просмотра можно сортировать записи в таблице в определенной последовательности, например, в таблице Преподаватели записи можно отсортировать в порядке убывания стажа преподавателей. Кнопки сортировки на панели инструментов (или команды меню Записи, Сортировка, Сортировка по возрастанию (сортировка по убыванию) ) позволяют сортировать столбцы по возрастанию или по убыванию. Прежде чем щелкнуть по кнопке сортировки, следует выбрать поля, используемые для сортировки. Для выбора поля достаточно поместить курсор в любую его запись. После этого щелкните по кнопке сортировки - и данные отобразятся в отсортированном порядке, В режиме таблицы можно выделить сразу два или несколько соседних столбцов, а затем выполнить по ним сортировку. По умолчанию в Access 97 сортировка записей начинается с крайнего левого выделенного столбца. При этом записи таблицы будут отсортированы сначала по крайнему левому выделенному столбцу, затем (для одинаковых значений в первом сортируемом столбце) - по второму и т.д. Если вы хотите восстановить порядок отображения записей, используйте команду Записи, Удалить фильтр.

Примечание. Современные СУБД такие, как Access 97, никогда не сортируют таблицы физически, как это делалось раньше. Средства сортировки данных (а также фильтрации, поиска и замены) реализованы в Access 97 как автоматически создаваемые запросы. Записи таблицы всегда располагаются в файле базы данных в том порядке, в котором они были добавлены в таблицу.

### Отбор данных с помощью фильтра

Фильтр - это набор условий, применяемых для отбора подмножества записей. В Access 97 существуют фильтры четырех типов; фильтр по выделенному фрагменту, обычный фильтр, расширенный фильтр и фильтр по вводу.

Фильтр по выделенному фрагменту - это способ быстрого отбора записей по выделенному образцу. Например, вам нужно просмотреть в таблице записи только о доцентах, Выделите слово Доцент в любой из записей. Щелкните по кнопке <Фильтр по выделенному> (или выполните команду Записи, Фильтр, Фильтр по выделенному), и Access выберет только те записи, для которых значение в столбце Должность равно Доцент. Обратите внимание, что в строке состояния окна таблицы присутствует слово Фильтр. В дополнение к этому кнопка <Применить фильтр> (третья кнопка фильтрования, на которой изображена воронка) затенена, а это означает, что используется фильтр. При отключении этой кнопки все фильтры будут сняты. Установки фильтра не пропадут; он просто будет отключен. Фильтр по выделенному может собирать вместе критерии выбора при каждом использовании кнопки <Фильтр по выделенному>. Например, вы поместили курсор в столбец Должность в записи, в которой значение поля равно Доцент, и щелкнули по кнопке <Фильтр по выделенному>. Вы увидите только записи обо всех доцентах. Если затем вы поместите курсор в столбец <Должность> и выделите слово Информатика (конечно, если такая дисциплина присутствует в вашей таблице), а затем щелкните по кнопке <Фильтр по выделенному> появятся только записи о доцентах, которые преподают информатику. Если вы хотите просмотреть значения, которые не удовлетворяют этому критерию, например просмотреть всех преподавателей, кроме доцентов, читающих информатику, щелкните правой кнопкой (курсор мыши должен находиться внутри таблицы) и выберите команду Исключить выделенное. Будут выбраны все записи, кроме недавно выбранных (инверсный выбор).

Фильтрование данных в Access производится с помощью кнопок <Фильтр по выделенному> или <Изменить фильтр> (команда меню Записи, Фильтр, Изменить фильтр). После нажатия второй кнопки от таблицы остается одна запись. Каждое поле становится полем со списком (когда в нем находится курсор), в котором можно выбрать из списка все значения для данного поля. После щелчка по кнопке <Применить фильтр> будут выбраны записи, соответствующие измененному фильтру. Еще более сложные условия фильтрации можно задать командой меню Записи, Фильтр, Расширенный фильтр...

### Подготовка к печати

Записи таблицы можно распечатать. Простейший способ сделать это - выбрать команду Файл, Печать или щелкнуть по кнопке <Печать> на панели инструментов. Для распечатки потребуется столько страниц, сколько необходимо для размещения всех данных. Access автоматически подгоняет распечатку на каждой странице. Управлять распечатыванием можно из диалогового окна "Печать", выбирая представленные ниже опции:

Опция | Назначение
Печатать | Распечатывает либо всю таблицу, либо только выбранные страницы, либо выделенные записи
Копии | Определяет число копий
Разобрать | Определяет, будет ли распечатка разобрана по копиям

С помощью кнопки <Свойства> можно вывести диалоговое окно настройки принтера. Кнопка <Настройка> позволит определить поля и заголовки.

Перед печатью всегда необходимо просмотреть данные для того, чтобы определить, как будет выглядеть таблица на распечатанной странице. Для этого щелкните по кнопке <Предварительный просмотр> на панели инструментов или выберите команду Файл, Предварительный просмотр. При этом появится окно предварительного просмотра, в котором можно управлять параметрами просмотра.

### Ввод и просмотр данных посредством формы

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

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

Создать форму можно несколькими способами. Если вы в режиме базы данных откроете вкладку Формы и щелкните по кнопке <Создать>, то откроется окно, в котором указаны способы создания формы (рис. 4.2).

Конструктор позволит вам создать форму самостоятельно, но это для начинающих пользователей довольно сложно. Мастер форм дает возможность автоматически создать форму на основе выбранных полей. Этот режим наиболее удобен при создании форм как для начинающих, так и для опытных пользователей. Access в режиме диалога выясняет у пользователя, какую форму он хочет получить, и создает ее автоматически. Если вас в этой форме что-либо не удовлетворяет, вы можете исправить это в режиме конструктора. Автоформы являются частными случаями мастера форм, т.е. они автоматически создают заданные виды форм практически без участия пользователя. Это может быть удобно, когда базовая таблица одна, содержит немного полей и вам нужно быстро создать простую форму. Диаграмма создает форму со встроенной диаграммой, а сводная таблица - со сводной таблицей Excel, Эти режимы предпочтительнее использовать опытным пользователям, хотя форму с диаграммой не так сложно создать и начинающему пользователю - Access в этом поможет.

Рис. 4.2. Окно, в котором выбираются варианты построения формы

Наиболее удобным и гибким способом создания форм является Мастер форм. В этом режиме вы можете выбрать поля таблицы для отображения в форме, стиль и цвет оформления фона и ячеек, а также вид формы. Мастер форм предлагает четыре вида формы представления данных: в один столбец (рис. 4.3), ленточная (рис. 4.4), табличная (рис. 4.5) и выровненная (рис. 4.6).

Рис.4.3. Форма в один столбец

Рис.4.4. Ленточная форма

Рис.4.5. Табличная форма

Рис.4.6. Выровненный вид формы

Поля в форме в один столбец (см. рис. 4.3) упорядочены и представлены в виде столбцов. Такая форма может занимать одну или несколько страниц. Поля можно упорядочить как угодно. Access дает возможность использовать большинство стандартных элементов управления Windows, которые создают привычный интерфейс при вводе данных. Линии, рамки, цвета и даже специальные эффекты (например, тени) позволяют создать удобные формы с привлекательным внешним видом. Ленточная форма и табличная форма похожи друг на друга, но табличная форма фактически повторяет вид уже знакомой вам таблицы и в ней ограничены возможности редактирования. А в ленточной форме доступны все виды инструментов и способы оформления фона и ячеек с данными. Выровненный вид формы (см. рис. 4.6) похож на ленточную форму, но отличается тем, что на экран выводятся все поля с одной записью, и если полей много, то они располагаются рядами - один под другим.

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

Настраивать внешний вид и возможности ввода, обработки и просмотра данных можно в режиме конструктора. Вы можете использовать огромное количество Инструментов и Свойств формы, но, чтобы реализовать эти возможности, надо обладать определенным опытом работы с формами. Некоторые из возможностей построения сложных форм мы рассмотрим в следующей главе, посвященной разработке многотабличной базы данных.

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

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

### ЗАДАНИЕ 1

### Создание базы данных.

1. Создайте новую базу данных.

2. Создайте таблицу базы данных.

3. Определите поля таблицы в соответствии с табл. 4.1.

4. Сохраните созданную таблицу.

Таблица.4.1. Таблица данных Преподаватели

Имя поля | Тип данных | Размер поля
Код преподавателя | Счетчик |
Фамилия | Текстовый | 15
Имя | Текстовый | 15
Отчество | Текстовый | 15
Дата рождения | Дата/время | Краткий
Должность | Текстовый | 9
Дисциплина | Текстовый | 11
Телефон | Текстовый | 9
Зарплата | Денежный |

### ТЕХНОЛОГИЯ РАБОТЫ

Для создания новой базы данных:

- загрузите Access, в появившемся окне выберите пункт Новая база данных;
- в окне "Файл новой базы данных" задайте имя вашей базы (пункт Имя Файла) и выберите папку (пункт Папка), где ваша база данных будет находиться. По умолчанию Access предлагает вам имя базы db1, а тип файла - Базы данные Access. Имя задайте Преподаватели, а тип файла оставьте прежним, так как другие типы файлов нужны в специальных случаях;
- щелкните по кнопке <Создать>.

Для создания таблицы базы данных:

- в окне базы данных выберите вкладку Таблицы, а затем щелкните по кнопке <Создать>;
- в окне "Новая таблица" выберите пункт Конструктор и щелкните по кнопке <ОК>. В результате проделанных операций открывается окно таблицы в режим конструктора (рис. 4.7), в котором следует определить поля таблицы.

Для определения полей таблицы:

- введите в строку столбца Имя поля имя первого поля Код преподавателя;
- в строке столбца "Тип данных" щелкните по кнопке списка и выберите тип данных Счетчик. Поля вкладки Общие оставьте такими, как предлагает Access.

Рис. 4.7. Окно таблицы в режиме конструктора - в этом режиме вводятся имена и типы полей таблицы

Примечание. Заполнение строки столбца "Описание" необязательно иобычно используется для внесения дополнительных сведений о поле.

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

Внимание! Обратите внимание на вкладку Общие в нижней части экрана. Советуем изменить данные в пункте Размер поля, а остальные пункты оставить по умолчанию (их функции рассмотрим далее). Например, для текстового типа данных Access предлагает по умолчанию длину 50 символов.Но вряд ли поле "Фамилия" будет содержать более 15 символов, хотя лучше точно подсчитать, сколько символов в самой длинной фамилии. Не бойтесь ошибиться - в дальнейшем можно скорректировать длину поля. Для числового типа Access предлагает Длинное целое, но ваши данные могут быть либо небольшие целые числа (в диапазоне от -32768 до 32767) - тогда надо выбрать Целое, либо дробные числа - тогда надо выбрать С плавающей точкой.. Для выбора необходимого параметра надо щелкнуть по полю, а затем нажать появившуюся кнопку списка и выбрать необходимые данные. В результате ваша таблица будет иметь более компактный вид, а объем базы данных уменьшится.

4. Для сохранения таблицы:

- выберите пункт меню Файл, Сохранить;
- в диалоговом окне "Сохранение" введите имя таблицы Преподаватели',
- щелкните по кнопке <ОК>.

Примечание. В результате щелчка по кнопке <ОК> Access предложит вам задать ключевое поле (поле первичного ключа), т.е. поле, однозначно идентифицирующее каждую запись. Для однотабличной базы данных это не столь актуально, как для многотабличной, поэтому щелкните по кнопке <Нет>.

### ЗАДАНИЕ 2

### Заполнение базы данных.

1. Введите ограничения на данные, вводимые в поле "Должность"; должны вводиться только слова Профессор, Доцент или Ассистент.

2. Задайте текст сообщения об ошибке, который будет появляться на экране при вводе неправильных данных в поле "Должность".

3. Задайте значение по умолчанию для поля "Должность" в виде слова Доцент.

4. Введите ограничения на данные в поле <Код>; эти данные не должны повторяться.

5. Заполните таблицу данными в соответствии с табл. 4.2 и проверьте реакцию системы на ввод неправильных данных в поле "Должность".

6. Измените ширину каждого поля таблицы в соответствии с шириной данных.

7. Произведите поиск в таблице преподавателя Миронова.

8.Произведите замену данных: измените заработную плату ассистенту Сергеевой с 450 р, на 470 р.

9. Произведите сортировку данных в поле "Год рождения" по убыванию,

10. Произведите фильтрацию данных по полям "Должность" и "Дисциплина".

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

Таблица 4.2

Код | Фамилия | Имя | Отчество | Дата рожд. | Должность | Дисциплина | Телефон | Зарплата
1 | Истомин | Ремир | Евгеньевич | 23.10.54 | Доцент | Информатика | 110-44-68 | 890р.
2 | Миронов | Павел | Юрьевич | 25.07.40 | Профессор | Экономика | 312-21-40 | 1200р.
3 | Гришин | Евгений | Сергеевич | 05.12.67 | Доцент | Математика | 260-23-65 | 760р.
4 | Сергеева | Ольга | Ивановна | 12.02.72 | Ассистент | Математика | 234-85-69 | 450р.
5 | Емец | Татьяна | Ивановна | 16.02.51 | Доцент | Экономика | 166-75-33 | 890р.
6 | Игнатьева | Татьяна | Павловна | 30.05.66 | Доцент | Информатика | 210-36-98 | 790р.
7 | Миронов | Алексей | Николаевич | 30.07.48 | Доцент | Физика | 166-75-33 | 890р.

### ТЕХНОЛОГИЯ РАБОТЫ

Для задания условия на значение для вводимых данных:

- войдите в режим Конструктор для проектируемой таблицы. Если вы находитесь в окне базы данных, то выберите вкладку Таблицы и щелкните по кнопке <Конструктор>. Если вы находитесь в режиме таблицы, то щелкните по кнопке на панели инструментов или выполните команду Вид, Конструктор;
- в верхней части окна щелкните по полю "Должность";
- в нижней части окна щелкните по строке параметра Условие на значение;
- щелкните по кнопке для определения условий на значение при помощи построителя выражений;
- в появившемся окне напишите слово Профессор, затемщелкните по кнопке (эта кнопка выполняет функцию ИЛИ), напишите Доцент, снова щелкните по этой же кнопке, напишите Ассистент и щелкните по кнопке <ОК>. Таким образом, вы ввели условие, при котором в поле "Должность" могут вводиться только указанные значения.

2. В строке Сообщение об ошибке введите предложение "Такой должности нет, правильно введите данные".

3. В строке Значение по умолчанию введите слово "Доцент".

4. Введитеограничения на данные в поле "Код". Здесь ограничения надо вводить не совсем обычным способом. Дело в том, что коды преподавателей не должны повторяться, а также должна быть обеспечена возможность их изменения (из-за последнего условия в этом поле нельзя использовать тип данных Счетчик, в котором данные не повторяются). Для выполнения второго условия пришлось задать в поле "Код" тип данных Числовой, а для выполнения первого условия сделайте следующее:

- щелкните по строке параметра Индексированное поле;

Примечание. Индекс - это средство Access, ускоряющее поиск и сортировку данных в таблице. Ключевое поле (поле первичного ключа) таблицы индексируется автоматически. Не допускается создание индексов для полей типа MEMO и Гиперссылка vim полей объектов OLE. Свойство Индексированное поле определяет индекс, создаваемый по одному полю. Индексированное поле может содержать как уникальные, так и повторяющиеся значения. Допускается создание произвольного количества индексов.

- выберите в списке пункт Да (совпадения не допускаются);

перейдите в режим Таблица, щелкнув по кнопке на панели инструментов или выполнив команду Вид, Режим таблицы. На вопрос о сохранении таблицы щелкните по кнопке <Да>.

5. Введите данные в таблицу в соответствии с табл. 4.3. Попробуйте в поле <Должность> любой записи ввести слово Лаборант. Посмотрите, что получилось. На экране должно появиться сообщение; "Такой должности нет, правильно введите данные". Введите правильное слово.

6. Для изменения ширины каждого поля таблицы в соответствии с шириной данных:

- щелкните в любой строке поля "Код";
- выполните команду Формат, Ширина столбца;
- в появившемся окне щелкните по кнопке <По ширине данных>. Ширина поля изменится;
- проделайте эту операцию с остальными полями.

7. Для поиска в таблице преподавателя Миронова:

- переведите курсор в первую строку поля "Фамилия";
- выполните команду Правка, Найти;
- в появившейся строке параметра Образец введите Миронов;
- в строке параметра Просмотр должно быть слово ВСЕ (имеется в виду искать по всем записям);
- в строке параметра Совпадение выберите из списка С любой частью поля;
- в строке параметра Только в текущем поле установите флажок (должна стоять ⌠галочка■);
- щелкните по кнопке <Найти>. Курсор перейдет на вторую запись и выделит слово Миронов;
- щелкните по кнопке <Найти далее>. Курсор перейдет на седьмую запись и также выделит слово Миронов;
- щелкните по кнопке <3акрыть> для выхода из режима поиска.
- 8.Для замены заработной платы ассистенту Сергеевой с 450 р. на 470 р.:
- переведите курсор в первую строку поля "Зарплата";
- выполните команду Правка, Заменить;
- в появившемся окне в строке Образец введите 450 р.;
- в строке Заменить на введите 470. Обратите внимание на остальные опции - вам надо вести поиск по всем записям данного поля;
- щелкните по кнопке <Найти далее>. Курсор перейдет на четвертую запись, но здесь не нужно менять данные, поэтому снова щелкните по кнопке <Найти далее>. Курсор перейдет на девятую запись - это то, что нам надо;
- щелкните по кнопке <3аменить>. Данные будут изменены;

Примечание. Чтобы заменить сразу все данные, надо воспользоваться кнопкой <3аменить все>. щелкните по кнопке <3акрыть>.

9. Для сортировки данных в поле "Год рождения" по убыванию:

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

Для просмотра созданной таблицы:

- щелкните по кнопке или выполните команду Файл, Предварительный, просмотр. Вы увидите таблицу как бы на листе бумаги;
- закройте окно просмотра.

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

Если у вас есть принтер, то созданную страницу можете распечатать.

### ЗАДАНИЕ 3

### Ввод и просмотр данных посредством формы.

1. С помощью Мастера форм создайте форму Состав преподавателей (тип - форма один столбец).

2. Найдите запись о доценте Гришине, находясь в режиме формы.

3. Измените зарплату ассистенту Сергеевой с 470 р. на 490 р.

4. Произведите сортировку данных в поле "Фамилия" по убыванию.

5. Произведите фильтрацию данных по полю "Должность".

6. Измените название поля "Дисциплина" на "Преподаваемая дисциплина".

7. Просмотрите форму с точки зрения того, как она будет выглядеть на листе бумаги.

### ТЕХНОЛОГИЯ РАБОТЫ

1. Для создания формы Состав преподавателей:

- откройте вкладку Формы в окне базы данных;
- щелкните по кнопке <Создать>;
- в появившемся окне выберите (подведите курсор мыши и щелкните левой кнопкой) пункт Мастер форм;
- щелкните по значку списка в нижней части окна;
- выберите из появившегося списка таблицу Преподаватель;
- щелкните по кнопке <ОК>;
- в появившемся окне выберите поля, которые будут присутствовать в форме. В данном примере присутствовать будут все поля, поэтому щелкните по кнопке ;
- щелкните по кнопке <Далее>;
- в появившемся окне уже выбран вид Форма в один столбец, поэтому щелкните по кнопке <Далее>;
- в появившемся окне выберите стиль оформления. Для этого щелкните по словам, обозначающим стили, либо перемещайте выделение стрелками вверх или вниз на клавиатуре. После выбора стиля щелкните по кнопке <Далее>;
- в появившемся окне задайте имя формы, набрав на клавиатуре параметр Состав преподавателей. Остальные параметры в окне оставьте без изменений;
- щелкните по кнопке <Готово>. Перед вами откроется форма в один столбец. Столбец слева - это названия полей, столбец справа - данные первой записи (в нижней части окна в строке параметра Запись стоит цифра "1"). Для перемещения по записям надо щелкнуть по кнопке (в сторону записей с большими номерами) или (в сторону записей с меньшими номерами). Кнопка - это переход на первую запись, кнопка - переход на последнюю запись.

Для поиска преподавателя Миронова:

- переведите курсор в первую строку поля "Фамилия';
- выполните команду Правка, Найти;
- в появившемся окне в строке Образец введите фамилию Миронов;
- в строке параметра Просмотр должно быть слово ВСЕ (имеется в виду искать по всем записям);
- в строке параметра Совпадение выберите из списка параметр С любой частью поля;
- в строке параметра Только в текущем поле установите флажок (должна стоять "галочка");
- щелкните по кнопке <Найти>. Курсор перейдет на вторую запись и выделит слово Миронов;
- щелкните по кнопке <Найти далее>. Курсор перейдет на седьмую запись и также выделит слово Миронов;
- щелкните по кнопке <3акрыть> для выхода из режима поиска;
- Для замены зарплаты ассистенту Сергеевой с 470 р. на 490 р.:
- переведите курсор в первую строку поля "Зарплата";
- выполните команду Правка, Заменить;
- в появившемся окне в строке параметра Образец введите 470 р.;
- в строке параметра Заменить на введите 490 р. Обратите внимание на остальные опции - вам надо вести поиск по всем записям данного поля;
- щелкните по кнопке <Найти далее>. Курсор перейдет на четвертую запись, но здесь не нужно менять данные, поэтому снова щелкните по кнопке <Найти далее>. Курсор перейдет на девятую запись - это то, что нам надо;
- щелкните по кнопке <3аменить>. Данные будут изменены;
- щелкните по кнопке <3акрыть>.

4. Дня сортировки данных в поле "Год рождения" по убыванию:

- щелкните по любой записи поля "Год рождения";
- щелкните по кнопке на панели управления или выполните команду Записи,Сортировка, Сортировка по убыванию. Все данные в таблице будут отсортированы в соответствии с убыванием значений в поле "Год рождения".

5. Для фильтрации данных по полю "Должность":

- щелкните по записи Доцент поля "Должность";
- щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В форме останутся только записи о преподавателях - доцентах;
- щелкните по записи Информатика поля "Дисциплина";
- щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В форме останутся только записи о преподавателях - доцентах кафедры информатики;
- для отмены фильтра щелкните по кнопке на панели инструментов или выполните команду Записи, Удалить фильтр. В таблице появятся все данные;

6. Измените название поля "Дисциплина" на "Преподаваемая дисциплина". Дли этого:

- перейдите в режим конструктора, щелкнув по кнопке на панели инструментов или выполнив команду Вид, Конструктор;
- щелкните правой кнопкой мыши в поле "Дисциплина" (на названии поля - оно слева, а строка справа с именем Дисциплина - это ячейка для данных, свойства которых мы не будем менять). В появившемся меню выберите пункт Свойства. На экране откроется окно свойств для названия поля "Дисциплина";
- щелкните по строке с именем Подпись, т.е. там, где находится слово Дисциплина;
- сотрите слово "Дисциплина" ивведите "Преподаваемая дисциплина";
- для просмотра результата перейдите в режим формы, выполнив команду Вид, Режим формы.

7.Для просмотра созданной формы:

- щелкните по кнопке или выполните команду Файл, Предварительный просмотр. Вы увидите форму как бы на листе бумаги;
- закройте окно просмотра.

Примечание. Не удивляйтесь полученному результату, так как на листе поместилось несколько страниц формы. Распечатывать форму не будем, потому что основное назначение подобной формы - удобный построчный ввод и просмотр данных, а не сохранение данных в виде бумажного документа.