Как сделать справочник в access?
Содержание
- 1 Создание таблиц
- 2 Справочная система без … справочных таблиц
- 3 Формы — справочники.
- 4 Многоуровневые справочники.
- 5 Создание нового проекта
- 6 Создание и редактирование основных разделов документа
- 7 Редактирование структуры документа
- 8 Работа с начальной страницей и страницей оглавления. Создание ключевых слов.
- 9 Предварительный просмотр и экспорт документа. Сохранение проекта.
- 10 Интеграция файла справки в MS Acсess приложение
- 11 Однотабличные формы в Access
Создание таблиц
В каждой базе данных есть справочники, которые служат для хранения часто вводимых данных. Например, если в таблице «Атрибуты заказчика» есть поля типа «Страна», «Город», то вместо того, чтобы постоянно вводить вручную эти данные, можно завести соответствующие справочники городов и подставлять данные из них. Но дело в том, что справочники могут быть как простые, состоящие из одной таблицы, так и сложные, составные (многоуровневые). В этой статье мы рассмотрим примеры организации различного рода справочников.
Идею статьи подсказало следующее сообщение:
«Подскажите, как правильно разработать структуру базы для реализации почтовой базы. Интересует правильная связь таблиц: Страна, Регион, Город, Улица.»
Начинающий разработчик имел в виду, как правильно установить связи между справочными таблицами и основной, в которую вставляются данные из справочников.
Создаем четыре справочные таблицы: Адресат, Справочник страны, Справочник регионы, Справочник города. В каждой таблице обязательно должно быть соответствующее ей ключевое поле (Тип Счетчик) — id.
Обычно ключевое поле таблицы, которое является уникальным идентификатором записи в этой таблице, называют внутренним ключом (в нашем случае это поля типа «Счетчик»), а ключевые поля, через которые внешние таблицы привязаны к данной — соответственно внешними ключами (в нашем случае это числовые поля Длинное целое)
Имя таблицы |
Имя поля |
Тип поля |
Связанная таблица |
Поле в связанной таблице |
Адресат |
idАдресат |
счетчик |
||
idСтрана |
Длинное целое |
Справочник страны | idСтрана | |
idРегион |
Длинное целое |
Справочник регионы |
idРегион |
|
idГород |
Длинное целое |
Справочник города | idГород | |
Улица |
Текстовое |
|||
Дом |
Текстовое |
|||
Справочник страны |
id |
счетчик |
Адресат |
idСтрана |
Обозначение |
Текстовое |
|||
Справочник регионы |
id |
счетчик |
Адресат |
idРегион |
Обозначение |
Текстовое |
|||
Справочник города |
id |
счетчик |
Адресат |
idГород |
Обозначение |
Текстовое |
В руководствах для начинающих разработчиков часто присутствуют рассуждения, какое поле таблицы сделать ключевым. Дается определение ключевых полей и приводятся примеры связей между ними. На мой взгляд, такие рассуждения только сбивают с толку начинающих. Ведь в принципе, все довольно просто: в 99% случаев лучшее ключевое поле — счетчик. Оно 100% уникально (без повторений) и при установке связи с основной таблицей (в которую подставляются данные из этого справочника) с соответствующим полем Числовое (Длинное целое) связь автоматически определяется как один ко многим (одна запись в справочнике и много аналогичных записей в основной таблице).
Возможно, что кому то покажется ненужным объяснение вроде бы очевидного, но мне не раз приходилось сталкиваться с базами начинающих (обычно студентов), в таблицах которых вообще не было ключевых полей. Поэтому поясню все подробно.
Как видно, в справочниках только два поля: ключевое и обозначение. А основная таблица состоит в основном из числовых полей, кроме поля «Улица». Вот здесь то и проявляется основная особенность построения реляционных баз данных:
вместо того, чтобы хранить в таблице «Адресат» наименования стран, регионов, городов в виде текста, сохраним их лучше в виде чисел (значений ключевых полей справочников).
При установке связей между основной таблицей и справочной Access обнаружив ключевое поле в основной таблице, пойдет по установленной связи в справочную и считает оттуда соответствующее значение из поля таблицы. Из какого поля — это будет зависеть от запроса, который мы создадим далее.
Справочники «Улицы» и «Дома» создавать, как мне думается, нет смысла. Улиц будет слишком много, их проще ввести вручную.
Так же в справочных таблицах не помешает сделать поле «Обозначение» уникальным, не допускающим повторений. Для этого в конструкторе таблицы в свойстве поля «Индексированное поле» выберем «Да. Повторения не допускаются». Если теперь нажать в конструкторе таблиц на кнопку «Индексы» (на ней значок молнии), то увидим, что в таблицу кроме основного индекса ключевого поля добавился еще один — «Обозначение».
Имена полей таблиц не должны содержать пробелов, иначе могут быть проблемы с VBA, и однозначно возникнут проблемы, при переносе базы на SQL Server. Если имя поля состоит из двух слов, то можно выбрать например такай вариант: НазваниеУлицы или Название_улицы.
Хотя согласно Help, имя может включать любую комбинацию букв, цифр, и специальных знаков за исключением точки (.), восклицательного знака (!), надстрочного знака (`) и квадратных скобок (), но желательно не использовать в именах полей таблицы никаких символов, кроме букв и цифр. Дело в том, что например имя поля таблицы типа «Улица№» в проекте mdb скорей всего не вызовет никаких конфликтов, а вот при переносе базы на SQL Server, мастер переноса просто «выкинет» его из таблицы.
При создании однотипных справочных таблиц дело пойдет быстрее, если в окне проекта «Таблицы» выделить таблицу, затем Ctrl + C или в контекстном меню при правом щелчке мыши выбрать «копировать», затем выбираем вставить, в появившемся окне задаем имя новой таблицы и жмем «ОК». Вот потому то я во всех справочниках ввел однотипное поля «id», «Обозначение». В таблице «Адресат» так же создаем внешние ключевые поля (Длинное Целое) — idСтрана, idРегион, idГород. Не забудьте убрать в них значение по умолчанию = 0.
Теперь осталось только установить связи между таблицами. Жмем в окне проекта на кнопку «Схема данных» или правой кнопкой мыши, и в контекстном меню выбираем «Схема данных». Появилась диалоговое окно «Добавление таблицы». Щелкаем дважды по всем названиям таблиц и закрываем окно.
Располагаем таблицы например так: слева основная — «Адресат», справа остальные (справочники). Наводим курсор в таблице «Адресат» на поле «idСтрана» нажимаем и тащим на поле «idСтрана» в таблице Справочник страны. В появившемся диалоговом окне «Изменение связей» устанавливаем флажки: «Обеспечение целостности данных», «Каскадное обновление связанных полей» и жмем «ОК».
Флажок «Обеспечение целостности данных»
Его установили для того, чтобы исключить возможность ввода в таблицу «Адресат» в поле «idСтрана» значения, которого нет в аналогичном поле справочной таблицы «Справочник страны». Советую всегда так делать. Этим Вы во многом избавитесь от проблемы «мусора» в базе данных — наличие ни с чем не связанных записей. Правда есть и другие способы «замусоривания», но не лишним будет уже в структурной схеме базы постараться свести их к минимуму.
Флажок «Каскадное обновление связанных полей»
В данном случае можно было бы и не ставить. Дело в том, что ситуация, когда нужно обновлять связанные поля, здесь вряд ли произойдет, ведь ключевое поле в справочной таблице изменить можно только программно. Тем не менее, в нашем случае хуже от этого не будет.
А вот флажок «Каскадное удаление связанных записей» в данном примере я бы не рекомендовал ставить. Иначе может возникнуть весьма печальная ситуация: пользователь решит удалить название города из соответствующего справочника (мол, больше не нужен), а вместе с ним удалятся и все связанные с ним записи в таблице «Адресат» — это и есть каскадное удаление. Правда, при всякой попытке удаления Access выдает соответствующее предупреждение, но надеяться на то, что пользователь адекватно среагирует на него, я бы не стал. Каскадное удаление имеет смысл ставить в случае, например при связи таблиц «Заказы» и «Заказы данные». Удаляете заказ, а вместе с ним автоматически и все данные по нему, так как зачем данные по заказу, которого больше нет.
Остановлюсь еще на одном моменте: многим наверное приходилось сталкиваться с ошибкой «Слишком большое число». Если не хотите иметь с этим проблем, возьмите себе за правило не делать поля со списками в таблице (начинающие обычно для этого используют мастер подстановок). Дело в том, что из за несоответствия форматов единиц измерения ширины столбцов в разных версиях Access, эта самая ширина может вместо стандартной 2,54см стать … 57,2 см (слишком большим). Поэтому список лучше сделать на форме, а в таблице оставьте просто поле.
Справочная система без … справочных таблиц
Обычно справочные таблицы служат источниками данных для списков или полей со списками. Но прежде чем перейти к созданию форм — справочников, рассмотрим сначала варианты организации этих списков без использования справочных таблиц (см. форму Пример1).
Ссылка таблицы на саму себя (Пример1. Вариант1)
Это самый простой способ организации справочника. Создаем форму «Адресат», цепляем к ней источник — таблицу «Адресат». Создаем поле со списком, источник которого — запрос к полю «Улица» из этой же таблицы. Запрос обязательно должен быть сгруппирован и в условии отбора необходимо исключить пустые стоки (Адресат.Улица = Is Not Null). Для обновления списка можно на свойство формы «После обновления» повесить Улица.Requery. Свойство «Ограничиться списком» должно быть «Нет». Иначе нельзя будет добавлять новые данные.
Достоинства: простота реализации, не нужны справочные таблицы, весь программный код — одной строчкой.
Недостатки: если ввести например «ул. Кирова» а затем «Кирова», то в списке появятся оба варианта, хотя по сути это одно и тоже. Еще хуже «Кирова», » Кирова», «Кирова » — пробелы ведь тоже считаются за символы. Но самое плохое — чтобы удалить «кривое» название из справочника, нужно исправить их все в таблице. Ведь пока будет хотя бы одно «кривое» обозначение, оно будет присутствовать в списке.
Подобные проблемы требуют программных решений: создания функций, следящих за правильностью ввода, находящих и исправляющих неправильные значения во всей таблице. Но тогда теряется главное преимущество такого варианта — простота.
Впрочем, пробелы можно победить например так:
а за неправильность ввода бить по рукам. К тому же, если в список заводятся например номера домов в виде чисел, то этот способ в принципе заслуживает внимания. Чтобы отличить число от текста можно воспользоваться например такой процедурой:
Но в нашем примере я завел для номеров домов тип поля «Текст» — ведь номер может быть например 1/2 или кор. 3. Поэтому, с домами разберемся по другому.
Добавление отсутствующего значение в список значений (Пример1. Вариант2)
Для реализации этого способа мы используем в качестве источника данных справочного списка — «Список значений». Основа этого способа — перехват события списка «Отсутствие в списке». Вот пример процедуры:
Испытаем процедуру: раскроем сначала список, посмотрим какие там номера и введем такой, которого там нет. При переходе на новую запись или другой элемент формы появится сообщение с предложением завести новое значение списка. Скажем «Да» — значение заведется, скажем нет — сотрется.
Достоинства: не нужны справочные таблицы.
Недостатки: новые данные в справочном списке, увы, не сохраняются. То есть, если в список добавилось новое значение, то при закрытии формы оно исчезнет. Все потому, что список значений можно заполнять только в конструкторе форм (в примере список не заполняется, а просто контролу временно «подсовывается» новый источник строк). Однако такой способ может оказаться полезным, когда именно это и требуется: например в списке присутствуют стандартные значения, но требуется ввести не стандартное, причем не один раз, и чтобы все разы одинаково, а в справочную таблицу заносить новые данные по каким либо причинам не следует. Ситуация довольно странная, но при работе с базами данных случается и не такое.
В обоих примерах есть общий недостаток: сложно будет реализовать обновление однотипных данных в таблице «Адресат» — ведь обновлять то их собственно не с чем, нет соответствующей справочной таблицы. То есть, если, например Вы решите изменить название «Москва» на «г. Москва», то придется программно отлавливать в таблице все соответствующие записи и менять их. А вот в случае с использованием справочных таблиц для этого достаточно изменить данные в справочнике.
Добавление отсутствующего значение в список значений (Пример1. Вариант3)
В предыдущем примере рассматривался вариант добавления отсутствующего значения в список подстановок. Но данные не сохранялись, потому что для этого нужна справочная таблица. Теперь я покажу аналогичный пример, но уже с использованием справочной таблицы, тем самым решится проблема сохранения нового значения в справочнике. Добавлять данные, так же как и в предыдущем примере будем программно. Для этого воспользуемся
DAO — Data Access Objects — объектная модель доступа к данным. Объекты доступа к данным создавались, как объектно — ориентированный интерфейс для ядра баз данных Jet фирмы Microsoft как раз для того, чтобы можно было программно вносить, изменять, удалять данные в таблицах.
Создадим функцию AppendLookupTable и поместим в общий модуль, чтобы ее можно было вызывать из разных форм, для разных полей со списками, а не только для конкретного.
Для работы с таблицей программно (через DAO), сначала необходимо объявить объектную переменную и присвоить ей источник данных (Recordset):
при работе с таблицей/запросом через DAO после выполнения действий со строками обязательно должно быть обновление источника rst.Update. Иначе компилятор тут же выдаст ошибку. И не забываем закрывать источник после работы — освобождаем память. В принципе это не обязательно, при выходе из процедуры Access его все равно обнулит, но стоит выработать такую хорошую привычку — освобождать переменные в конце процедур.
Вызывать функцию будем аналогично предыдущему примеру:
Формы — справочники.
Теперь займемся наконец справочными формами. Начнем с простого: создадим табличную форму — справочник. На событие «Открытие» формы вешаем процедуру:
Мы получили простейшую форму справочник. Осталось придумать, как же ее вызывать? Обычно применяют два способа:
1. Раз справочник — источник поля со списком, то почему бы дважды не щелкнуть по соответствующему списку для его открытия? А чтобы это как то узаконить, покрасим список в синий (можно, разумеется, и в любой другой) цвет и объявим в справке к программе, что при двойном щелчке по полю синего цвета открывается подобающая ему справочная таблица. Создаем процедуру открытия табличной формы:
acFormDS — указание на то, что форма открывается в режиме таблицы
acWindowNormal — указываем тип границы (вид формы) — обычная Windows («Нормальная» в конструкторе форм)
Осталось сделать еще одну важную вещь: обновить список при закрытии справочника. Ведь если мы внесли туда новые данные (или удалили) изменения желательно тут же отобразить в списке.
IsLoaded — эта функция проверки, открыта ли форма «Пример1». Взята из базы «Боррей».
2. Создадим на главной форме список с именами справочников, и будем их открывать двойным щелчком по нужному названию.
Для организации подобного интерфейса нам понадобится служебная таблица «ФормыПараметры» и функция fOpenForm. В этом примере для разнообразия применим другой вид формы.
Справочник у нас будет состоять из двух форм: простая форма будет служить контейнером для табличной. Поле серого цвета — поле фильтра. Начните вводить в него первые буквы искомого обозначения — и содержимое таблицы станет динамически фильтроваться (по первым буквам). Фильтрация происходит при помощи функции «fFilForm».
А теперь самое интересное: я сделал только одну подобную форму справочник (основная форма «Справочник», починенная табличная «SubFrm»), а в списке их у меня две: Страны, Регионы. И в базе вы не найдете форм «Справочник страны», «Справочник регионы». Откуда же они берутся? Все очень просто. Рассмотрим функцию «fOpenForm».
Здесь мы видим процедуру присвоения значений трем переменным: strFormName, strTextFormName, strTableName. А теперь посмотрим на самый верх модуля «Module1». Там мы увидим
Здесь мы подошли к такому важному понятию, как область видимости переменных. Раз эти три переменных объявлены в разделе General общего модуля с ключевым словом Public, то они становятся видимыми для всех модулей приложения. Например, их «увидят» процедуры модуля формы «Справочник» для того чтобы присвоить форме соответсвующие параметры. Рассмотрим их.
В таблице «ФормыПараметры» есть три поля: ИмяФормы (имя формы в приложении), ОбозначениеФормы (текстовое обозначение формы, или просто заголовок формы), Таблица (источник данных формы — имя таблицы). В функции «fOpenForm» происходит присвоение этим переменным значений при помощи
как видно, значения берутся из полей служебной таблицы «ФормыПараметры». А затем команда на открытие формы DoCmd.OpenForm strFormName
Теперь заглянем в модуль формы «Справочник». Рассмотрим процедуру, происходящую при открытии формы:
Открытие формы происходит после присвоения значения глобальным переменным. Свое обозначение и источник данных форма получает при открытии.
В результате получился макет формы. При запуске форме присваивается текстовое обозначение и цепляется источник строк при помощи глобальных переменных, значения для которых берутся из служебной таблицы. Таким образом, становится возможным используя всего один макет формы «создавать» множество однотипных справочников. Для этого достаточно лишь заполнить необходимыми данными служебную таблицу. Единственное условие: во всех справочных таблицах должно быть два поля, называться они должны одинаково: id, Обозначение. Это накладывает ограничение на возможные варианты справочников, но ведь речь идет о простых справочных формах.
А теперь, попробуйте сами: «создайте» справочник «Города», заполнив соответствующими данными таблицу «ФормыПараметры».
До сих пор мы рассматривали только простейшие справочники. Но представьте: в каждой стране десятки регионов, в каждом регионе десятки городов. Для страны городов получится не одна сотня. Не удобно выбирать из списка с несколькими сотнями записей. Было бы лучше, если выбрав регион, в списке городов отобразились бы только соответствующие ему города. Для этого потребуются специального вида справочники: многоуровневые (зависимые).
Многоуровневые справочники.
Для создания подобного рода справочников потребуется немного другая структура базы данных. Ведь как уже говорилось, подобные справочники создают для облегчения выбора значения из списка с большим количеством записей, которые фильтруются по выбранному значению (параметру) в другом списке. А это значит, что потребуется связать две справочные таблицы, организовав из них составной справочник.
В предыдущей главе предлагалось вместо создания множества однотипных справочников сделать один макет справочной формы и цеплять к нему источник данных при запуске. Но можно углубиться еще дальше. Воспользуемся идеей, которую предложил Валерий Крук — сделаем одну справочную таблицу и будем хранить в ней данные всех справочников. Для этого потребуется еще одно поле — идентификатор «справочной таблицы», чтобы определить, к какому справочнику относится данная запись. А для реализации двухуровнего справочника создадим вторую таблицу, в которой будут храниться связанные с первой таблицей записи.
Имя таблицы |
Имя поля |
Тип поля |
СПРАВОЧНИК |
id |
счетчик |
Name |
Текстовое |
|
Type |
Длинное целое |
|
СПРАВОЧНИК Sub |
id |
счетчик |
id1 |
Длинное целое |
|
Name |
Текстовое |
При установке связей между таблицами СПРАВОЧНИК и СПРАВОЧНИК Sub установим флажок «Каскадное удаление связанных записей» — это как раз тот случай, когда такая процедура будет полезной. Ведь при удалении записи из таблицы «СПРАВОЧНИК» связанные с ней данные становятся не нужными.
Если Вы откроете схему данных, то увидите только две связанные между собой справочные таблицы. В предыдущем примере к основной таблице «Адресат» были привязаны все справочники, и я еще подробно рассказывал о связях, флажках… Дело в том, что при данной схеме организации справочной системы мы не сможем прицепить таблицу «СПРАВОЧНИК» к какому либо полю, ведь в ней теперь хранятся все справочные данные. Да в этом и нет надобности. Если учесть, что пользователь будет работать с базой исключительно через формы, то вероятность ввода в основную таблицу записей, которых нет в справочной, сводится практически к нулю.
Параметры справочников хранятся в служебной таблице tSystemFormPar. В поле Tabl указан идентификатор соответствующего справочника. Рассмотрим отличия от предыдущего варианта.
Все глобальные переменные и константы я перенес в специальный модуль, который так и называется Constants. Хотя объявлять их можно в любом модуле, главное, чтобы они были в разделе General и начинались с ключевого слова Public, но лучше хранить их для наглядности в одном месте.
В модуль SprawForm добавилась новая функция — fFilListBox. Она во многом похожа на fFilForm, но служит для фильтрации списка, поэтому в параметрах вместо frm As Form поставлено lst As ListBox. Кроме этого, в обеих функциях изменена строка формирования фильтра:
Ведь теперь нужно фильтровать не только по значению в поле фильтра, но так же и по параметру (идентификатору справочника) в таблице tSystemFormPar. Так же если для формы источник данных задается через
то для списка нужно использовать свойство RowSource
Добавилась функция удаления записей — sDeleteRecord. Пользовательская функция нужна для перехвата события удаления. Теперь посмотрим, что изменилось в модулях справочных форм.
В модуле формы «Справочник» добавилось условие отбора по полю Type таблицы СПРАВОЧНИК
и появилось новое — присвоение полю Type значения по умолчанию, равное текущему значению переменной strTableName
Ведь если этого не сделать, то запись в таблице СПРАВОЧНИК окажется не привязанной к текущему типу справочника.
В модуле формы двухуровневого справочника «СправочникМ» видим, что формируются две пары строк — источников данных: strSql, strSql1 — для списка и strSql2, strSql3 — для табличной формы. Строки разбиты на пары потому, что между ними нужно будет вставлять условие отбора (WHERE…) Чтобы новое введенное значение в поле справочной формы тут же отображалось в списке, служит процедура
А для навигации по справочной форме (поиску нужной записи) используем
Чтобы исключить возможность ввода в табличную форму (источник — СПРАВОЧНИК Sub) записей, не связанных с основной формой (источник — СПРАВОЧНИК) служит процедура, которая выводит соответствующее сообщение при подобной попытке и блокирует ее:
Раз на форме появилось второе поле фильтра, появилась соответствующая процедура фильтрации по этому полю
Подобный вариант организации справочной системы — с использованием общих таблиц для разных справочников, позволяет не только значительно упрощать создание справочников (для этого достаточно заполнить соответствующим образом таблицу tSystemFormPar), но так же уменьшает размер базы за счет меньшего количества форм и таблиц.
А теперь можете поэкспериментировать, создавая разного вида справочники — простые и двухуровневые.
Пример для данной статьи Вы можете скачать ниже
Содержание
-
Введение
-
Проектирование базы данных
-
Создание базы данных
-
Создание таблиц
-
Создание формы «Сведения об абонентах»
-
Создание формы «Личные данные»
-
Создание кнопки связывающей формы «Сведения об абонентах» и «Личные данные»
-
Создание запросов
-
Создание форм «Поиск по телефону» и «Поиск по фамилии»
-
Создание главной кнопочной формы «Заставка»
-
Создание формы «Первая»
-
Приложение
Список использованной литературы
1. Введение
Весьма символично, что Microsoft Access не входит в базовый комплект Microsoft Office. Как показывает практика, в первую очередь отечественная, круг повседневных задач львиной доли рядовых пользователей не выходит за рамки текстового редактора и электронных таблиц. Для американцев и европейцев, живущих и работающих в совершенно иных условиях, характерно также использование прикладных пакетов для создания всевозможных презентаций. Поэтому стандартный набор прикладных программ Microsoft Office — это всем известные Microsoft Word, Microsoft Excel и Microsoft PowerPoint. “Девяносто восьмой” офис обогатился еще пакетом Microsoft Outlook для лучшей организации своего рабочего времени. Все остальное — уже для профессионалов. Все остальное — это прежде всего Microsoft Access.
Базы данных (БД) составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой деятельности.
Действительно, процессы обработки информации имеют общую природу и опираются на описание фрагментов реальности, выраженное в виде совокупности взаимосвязанных данных. Базы данных являются эффективным средством представления структур данных и манипулирования ими. Концепция баз данных предполагает использование интегрированных средств хранения информации, позволяющих обеспечить централизованное управление данными и обслуживание ими многих пользователей. При этом БД должна поддерживаться в среде ЭВМ единым программным обеспечением, называемым системой управления базами данных (СУБД). СУБД вместе с прикладными программами называют банком данных.
Одно из основных назначений СУБД – поддержка программными средствами представления, соответствующего реальности.
Предметной областью называется фрагмент реальности, который описывается или моделируется с помощью БД и ее приложений. В предметной области выделяются информационные объекты – идентифицируемые объекты реального мира, процессы, системы, понятия и т.д., сведения о которых хранятся в БД.
В данной работе я создала учебную БД “Телефонный справочник”. Она состоит из двух таблиц, со взаимосвязанными данными, запросов, а так же форм, которые используются для наглядной работы с данными. На этом примере я продемонстрировала возможности Microsoft Access.
2. Проектирование базы данных
В Microsoft Access прежде чем создавать таблицы, формы и другие объекты необходимо задать структуру базы данных. Хорошая структура базы данных является основой для создания адекватной требованиям, эффективной базы данных.
Этапы проектирования базы данных
Ниже приведены основные этапы проектирования базы данных:
-
Определение цели создания базы данных.
-
Определение таблиц, которые должна содержать база данных.
-
Определение необходимых в таблице полей.
-
Задание индивидуального значения каждому полю.
-
Определение связей между таблицами.
-
Обновление структуры базы данных.
-
Добавление данных и создание других объектов базы данных.
-
Использование средств анализа в Microsoft Access.
1 Определение цели создания базы данных
На первом этапе проектирования базы данных необходимо определить цель создания базы данных, основные ее функции и информацию, которую она должна содержать. То есть нужно определить основные темы таблиц базы данных и информацию, которую будут содержать поля таблиц.
База данных должна отвечать требованиям тех, кто будет непосредственно с ней работать. Для этого нужно определить темы, которые должна покрывать база данных, отчеты, которые она должна выдавать, проанализировать формы, которые в настоящий момент используются для записи данных, сравнить создаваемую базу данных с хорошо спроектированной, подобной ей базой.
2 Определение таблиц, которые должна содержать база данных
Одним из наиболее сложных этапов в процессе проектирования базы данных является разработка таблиц, так как результаты, которые должна выдавать база данных (отчеты, выходные формы и др.) не всегда дают полное представление о структуре таблицы.
При проектировании таблиц вовсе не обязательно использовать Microsoft Access. Сначала лучше разработать структуру на бумаге. При проектировке таблиц, рекомендуется руководствоваться следующими основными принципами:
-
Информация в таблице не должна дублироваться. Не должно быть повторений и между таблицами.
Когда определенная информация храниться только в одной таблице, то и изменять ее придется только в одном месте. Это делает работу более эффективной, а также исключает возможность несовпадения информации в разных таблицах. Например, в одной таблице должны содержаться адреса и телефоны клиентов.
-
Каждая таблица должна содержать информацию только на одну тему.
Сведения на каждую тему обрабатываются намного легче, если содержаться они в независимых друг от друга таблицах. Например, адреса и заказы клиентов хранятся в разных таблицах, с тем, чтобы при удалении заказа информация о клиенте осталась в базе данных.
3 Определение необходимых в таблице полей
Каждая таблица содержит информацию на отдельную тему, а каждое поле в таблице содержит отдельные сведения по теме таблицы. Например, в таблице с личными данными об абоненте могут содержаться поля с названием номером паспорта, датой рождения, местом рождения, образованием, местом работы, должностью и номером телефона. При разработке полей для каждой таблицы необходимо помнить:
-
Каждое поле должно быть связано с темой таблицы.
-
Не рекомендуется включать в таблицу данные, которые являются результатом выражения).
-
В таблице должна присутствовать вся необходимая информация.
-
Информацию следует разбивать на наименьшие логические единицы (Например, поля «Имя» и «Фамилия», а не общее поле «Имя»).
4 Задание индивидуального значения каждому полю
С тем чтобы Microsoft Access мог связать данные из разных таблиц, например, данные о клиенте и его заказы, каждая таблица должна содержать поле или набор полей, которые будут задавать индивидуальное значение каждой записи в таблице. Такое поле или набор полей называют основным ключом.
В данном примере ключевым полем для обеих таблиц будет поле «Телефон».
5 Определение связей между таблицами
После распределения данных по таблицам и определения ключевых полей необходимо выбрать схему для связи данных в разных таблицах. Для этого нужно определить связи между таблицами.
У нас две таблицы будут связаны по ключевому полю «Телефон».
6 Обновление структуры базы данных
После проектирования таблиц, полей и связей необходимо еще раз просмотреть структуру базы данных и выявить возможные недочеты. Желательно это сделать на данном этапе, пока таблицы не заполнены данными.
Для проверки необходимо создать несколько таблиц, определить связи между ними и ввести несколько записей в каждую таблицу, затем посмотреть, отвечает ли база данных поставленным требованиям. Рекомендуется также создать черновые выходные формы и отчеты и проверить, выдают ли они требуемую информацию. Кроме того необходимо исключить из таблиц все возможные повторения данных.
7 Добавление данных и создание других объектов базы данных
Если структуры таблиц отвечают поставленным требованиям, то можно вводить все данные. Затем можно создавать любые запросы, формы, отчеты, макросы и модули.
8 Использование средств анализа в Microsoft Access
В Microsoft Access существует два инструмента для усовершенствования структуры баз данных. Мастер анализа таблиц исследует таблицу, в случае необходимости предлагает новую ее структуру и связи, а также переделывает ее.
3. Создание базы данных
В Microsoft Access поддерживаются два способа создания базы данных. Имеется возможность создать пустую базу данных, а затем добавить в нее таблицы, формы, отчеты и другие объекты. Такой способ является наиболее гибким, но требует отдельного определения каждого элемента базы данных. Имеется также возможность сразу создать с помощью мастера базу данных определенного типа со всеми необходимыми таблицами, формами и отчетами. Это простейший способ начального создания базы данных. В обоих случаях у вас останется возможность в любое время изменить и расширить созданную базу данных.
Мы воспользуемся первым случаем.
1. При запуске Microsoft Access открывается диалоговое окно, в котором предлагается создать новую базу данных или открыть существующую. Если появляется это диалоговое окно, выберите параметр Новая база данных, а затем нажмите кнопку ОК.
Если база данных уже была открыта или уже закрыто окно запуска, нажмите кнопку Создать базу данных на панели инструментов и дважды нажмите кнопку мыши, установив указатель на значок новой базы данных.
2. Укажите имя и каталог базы данных и нажмите кнопку ОК(например, c:BDAccessтелефонный справочник.mdb)
После создания пустой базы данных необходимо самостоятельно создать объекты этой базы данных.
4. Создание таблиц
В Microsoft Access можно создать таблицы несколькими способами. Я здесь рассмотрю создание таблиц в режиме конструктора.
Нажмите кнопку Создать и выберете Конструктор. В открывшемся окне зададим следующие поля таблицы:
Имя поля |
Тип данных |
Фамилия |
Текстовый |
Имя |
Текстовый |
Отчество |
Текстовый |
Адрес |
Текстовый |
Телефон |
Числовой |
С тем чтобы Microsoft Access мог связать данные из разных таблиц каждая таблица должна содержать поле или набор полей, которые будут задавать индивидуальное значение каждой записи в таблице. Такое поле или набор полей называют основным ключом.
Для поля Телефон поставим ключ и зададим Маску ввода “90-00-00”.
Далее закройте конструктор, в появившемся запросе “Сохранить изменения макета или структуры таблицы?” выберете Да и сохраните таблицу под именем «Справочник».
Таким же образом создадим вторую взаимосвязанную таблицу. В ней будут храниться личные данные абонентов. Зададим для нее следующие поля:
Имя поля |
Тип данных |
Телефон |
Числовой |
Номер паспорта |
Числовой |
Дата рождения |
Дата/Время |
Место рождения |
Текстовый |
Образование |
Текстовый |
Место работы |
Текстовый |
Должность |
Текстовый |
Для поля телефон опять же поставим ключ и зададим туже маску ввода. И сохраним таблицу под именем «Личные данные».
После распределения данных по таблицам и определения ключевых полей необходимо выбрать схему для связи данных в разных таблицах. Для этого нужно определить связи между таблицами.
Для этого выберем пункт меню Сервис – Схема данных. Добавим наши таблицы «Справочник» и «Личные данные». Свяжем эти таблицы по полю «Телефон», для этого перетащим, удерживая левую кнопку мыши, поле Телефон из одной таблицы в другую. В появившемся запросе связи отметим пункты меню: обеспечение целостности данных, каскадное обновления связанных полей и каскадное удаление связанных полей. После этого нажимаем кнопку Создать и у нас появиться связь между таблицами один к одному.
5. Создание формы «Сведения об абонентах»
Для облегчения работы с данными используют формы.
Перейдите на вкладку Формы и нажмите кнопку Создать, в открывшемся меню выберете Автоформа: в столбец и в качестве источника данных таблицу «Сведения». Появиться исходная форма, которая включает все поля из таблицы «Сведения».
Следующим шагом является размещение элементов управления в логическом порядке. Перейдите в режим конструктора. Для начала изменим размеры формы, раздвинув границы до “разумных пределов”. На панели инструментов нажмите кнопку Панель элементов, после этого она будет помещена у вас на экране.
-
нажмите на Панели элементов кнопку Надпись;
-
после этого щелкните в заголовке форме и введите надпись Данные об абоненте;
-
после этого с помощью пиктограмм Панели инструментов измените цвет надписи на темно синий, размер шрифта – 14, и выделите ее жирным шрифтом;
-
теперь щелкните на Панели элементов Прямоугольник и разместите его на форме, задайте нужные размеры. Щелкните пункт меню Вид – Свойства, в появившемся меню перейдите на вкладку Макет и задайте свойство Оформление – приподнятое. При необходимости можете изменить цвет фона;
-
объедините текстовые окна (в которых пользователь будет вводить текстовые данные) и поместите их в этот прямоугольник;
-
изменить цвет и шрифт этих текстовых окон.
Подробнее смотрите в пункте Приложение.
Теперь создадим кнопки на форме для перемещения по записям. Создадим кнопку Следующая запись с помощью Мастера.
-
откроем форму в режиме Конструктор;
-
на Панели элементов выделим объект Кнопка и перетащим его на форму;
-
в появившемся меню выберем категорию Переходы по записям и действие Следующая запись, нажмем кнопку Далее;
-
в этом окне ставим флажок в меню Текст и пишем Следующая запись (эта надпись будет отображаться на кнопке), и жмем кнопку Готово;
-
с помощью пиктограмм на панели инструментов можно изменить цвет и размер надписи на кнопке.
Аналогично создаются кнопки Предыдущая запись и Добавить новую запись. Их можно разместить в любом месте формы, но в нашем случае поместим их внизу формы.
Теперь установим некоторые свойства для формы. Выберем пункт меню Вид – Свойства (в заголовке появившегося окна должна отображаться надпись Форма). Во-первых, установим порядок фильтрации для записей таблицы сведения. Для этого перейдем на вкладку Данные, в пункте Применение фильтров поставим да, а затем в пункте Порядок сортировки запишем Справочник.Фамилия. Теперь при открытии этой формы записи будут сортироваться в порядке возрастания фамилий.
Во-вторых, сделаем эту форму всплывающей (всплывающая форма всегда располагается над другими окнами Microsoft Access.). В режиме конструктора откройте окно свойств формы двойным нажатием кнопки мыши в области выделения формы. Введите значение Да в ячейку свойства Всплывающее окно. В ячейке свойства Тип границы выберите Тонкая, если следует запретить изменение размеров формы; в противном случае перейдите к следующему шагу. Если задано значение Тонкая, всплывающую форму можно перемещать, но нельзя изменять ее размеры.
В-третьих, уберем полосы прокрутки и кнопки размеров окна. Для этого в режиме конструктора откройте окно свойств формы двойным нажатием кнопки мыши в области выделения формы. В ячейку полосы прокрутки поставим отсутствуют и в ячейку кнопки размеров окна введем значение отсутствуют.
Еще сделаем кнопку для закрытия формы.
1. откроем форму в режиме Конструктор;
-
на Панели элементов выделим объект Кнопка и перетащим его на форму;
-
в появившемся окне выберем категорию Работа с формой и действие Закрытие формы, нажмем кнопку Далее;
-
ставим флажок в пункт Рисунок – Выход и жмем кнопку Готово.
Создание кнопки для обновления данных в форме.
При работе с базой данных в сети создание кнопки, обновляющей данные формы, позволяет просмотреть последнюю версию существующих записей. Чтобы отобразить все обновленные записи, включая новые, можно перезапросить записи.
-
Откройте форму в режиме конструктора.
-
Нажмите кнопку Мастера на панели элементов, если она еще не нажата.
-
Нажмите кнопку Кнопка на панели элементов.
-
Выберите в форме место, в которое помещается верхний левый угол кнопки.
-
В первом окне диалога мастера выберите Работа с формой в списке Категории, а затем выберите тип кнопки в списке Действия.
-
Выполняйте инструкции, выводящиеся в окнах диалога мастера. Для того чтобы отобразить форму с созданной кнопкой в режиме конструктора, нажмите в последнем окне диалога кнопку Готово.
Можно так же сделать кнопку поиска в поле записи с помощью стандартных средств Access:
-
откроем форму в режиме Конструктор;
-
на Панели элементов выделим объект Кнопка и перетащим его на форму;
-
выбираем категорию Переходы по записям – Найти запись и нажимаем кнопку Далее;
-
ставим флажок Текст – Поиск записи и жмем кнопку Готово.
Эта форма будет модернизирована в дальнейшем. А пока закроем ее и сохраним под именем «Сведения об абонентах».
6. Создание формы «Личные данные»
Таким же образом можно сделать форму «Личные данные», используя данные из таблицы «Личные данные». Но в этом случае не нужно делать кнопки перехода по записям, т.к. эта форма будет использоваться для ввода (вывода) информации о соответствующем абоненте формы «Сведения об абонентах». Эти две формы будут связаны по ключевому полю «Телефон».
На форме мы разместим все поля из таблицы «Личные данные», а из кнопок нам здесь понадобится только кнопка закрытия формы. И опять же сделаем эту форму всплывающей.
7. Создание кнопки, связывающей формы «Сведения об абонентах» и «Личные данные»
Для того чтобы облегчить заполнение формы «Личные данные»мы создадим кнопку на форме «Сведения об абонентах» при нажатие на которую всплывает форма «Личные данные» в которую и вводятся сведения о соответствующем абоненте.
Поступаем следующим образом:
-
откроем форму «Сведения об абонентах» в режиме Конструктор;
-
на Панели элементов выделим объект Кнопка и перетащим его на форму;
-
в появившемся меню выбираем категорию Работа с формой – Открытие формы нажимаем кнопку Далее;
-
выбираем форму «Личные данные» и нажимаем Далее;
-
ставим флажок в пункт Открыть форму для отобранных записей и нажимаем Далее;
-
выбираем и из формы «Сведения об абонентах» и из формы «Личные данные» поле «Телефон», нажимаем сначала на стрелку , а потом на кнопку Далее;
-
ставим флажок в пункт текст, надпись Личные данные и жмем Готово.
Теперь при нажатии на эту кнопку будет появляться форма «Личные данные» для соответствующего абонента.
8. Создание запросов
Запросы являются основным средством извлечения информации из базы данных. С помощью запроса можно выбрать определенную информацию и рассортировать ее по значениям полей и даже добавлять описания в презентации. Запросы часто используются в качестве основы при создании форм и отчетов. Другие запросы могут создавать новые таблицы, присоединять данные к существующим таблицам, удалять записи и осуществлять поиск дублирующихся записей.
Мы будем использовать запросы для вывода информации о соответствующем абоненте. Создадим запросы с помощью Мастера запросов:
-
перейдем на вкладку Запросы;
-
нажимаем кнопку Создать, выбираем Простой запрос и нажимаем ОК;
-
в качестве источника запроса выберем таблицу «Справочник» и перемещаем все доступные поля, нажимаем Далее;
-
задаем имя «Запрос по телефону» ставим флажок в ячейке Изменение структуры запроса и нажимаем кнопку Готово;
-
в открывшимся режиме конструктора в поле «Телефон» в ячейку Условие отбора записываем . Теперь каждый раз с открытием запроса будет появляться окошечко в котором будет запрашиваться искомый телефон.
Совершенно аналогично создается «Запрос по фамилии». Только в режиме конструктора в поле «Фамилия» в ячейку Условие отбора записываем .
9. Создание форм «Поиск по телефону» и «Поиск по фамилии»
На основе созданных запросов создадим формы «поиск по телефону» и «поиск по фамилии». Создаются они по аналогии с формой «Сведения об абонентах». Оформление их зависит от фантазии создателя, но в любом случае не стоит перебарщивать с цветами и картинками.
При создании формы с помощью мастера форм в качестве источника выбирают соответствующий запрос.
Форму опять же сделаем всплывающей с тонкой границей, уберем полосы прокрутки и кнопки изменения размеров окна. И сделаем кнопку закрытия формы (как это сделать смотри в пункте создание формы «Сведения об абонентах»).
Для формы «Поиск по фамилии» сделаем еще кнопку следующая запись, что бы просмотреть все найденный сведения с искомой фамилией:
-
откроем форму в режиме Конструктор;
-
на Панели элементов выделим объект Кнопка и перетащим его на форму;
-
выбираем категорию Переходы по записям – Следующая запись и нажимаем кнопку Далее;
-
ставим флажок Текст – Следующая запись и жмем кнопку Готово.
10. Создание главной кнопочной формы «Заставка»
При открытии базы данных «Телефонный справочник» эта форма будет выводиться на экран, и она будет находиться на нем во время всей работы с БД. Поэтому разместим на ней основные кнопки для работы с формами «Сведения об абонентах», «Поиск по телефону», «Поиск по фамилии», а так же картинку и данные о разработчике.
Создавать форму будем с помощью конструктора:
-
перейдем на вкладку Формы, нажимаем кнопку Создать и выбираем конструктор, жмем ОК;
-
раздвигаем границы формы до нужных размеров и с помощью пиктограмм панели инструментов выберем нужный цвет фона;
-
поместим в левый верхний угол формы какую-нибудь картинку, для этого выберем Рисунок на Панели элементов и разместим его на форме;
-
при этом откроется стандартное меню выбора файла, где и нужно будет выбрать рисунок;
-
можно разместить различные надписи с названием БД, поместить линии.
Создание кнопки для запуска запроса «Поиск по телефону» и «Поиск по фамилии»:
-
Откройте форму в режиме конструктора.
-
Нажмите кнопку Мастера на панели элементов, если она еще не нажата.
-
Нажмите кнопку Кнопка на панели элементов.
-
Выберите в форме место, в которое помещается верхний левый угол кнопки.
-
В первом окне диалога мастера выберите Разное в списке Категории, а затем выберите тип кнопки в списке Действия.
-
Выполняйте инструкции, выводящиеся в окнах диалога мастера. Для того чтобы отобразить форму с созданной кнопкой в режиме конструктора, нажмите в последнем окне диалога кнопку Готово.
Кнопка Просмотр и редактирование записей делается аналогично кнопке Личные данные.
-
откроем форму в режиме Конструктор;
-
на Панели элементов выделим объект Кнопка и перетащим его на форму;
-
в появившемся меню выбираем категорию Работа с формой – Открытие формы нажимаем кнопку Далее;
-
выбираем форму «Сведения об абонентах» и нажимаем Далее;
-
ставим флажок в пункт Открыть форму и показать все записи и нажимаем Далее;
-
назовем кнопку Просмотр и редактирование записей.
И еще можно сделать кнопку Закрытия формы, а как это сделать уже рассматривалось выше.
11. Создание формы «Первая»
Форма «Первая» демонстрирует автоматическое открытие формы на несколько секунд при запуске приложения. При запуске приложения полезно вывести на экран в течение нескольких секунд название приложения, сведения об авторских правах и эмблему. При запуске демонстрационного БД «Телефонный справочник» на экран автоматически выводится форма «Первая».
Сначала мы создадим свободную формы, в которой выводятся сведения о приложении. Создание для свойства Открытие (OnOpen) процедуры обработки события, которая задает (в миллисекундах) значение свойства формы Интервал таймера (TimerInterval). Создание для свойства Таймер (OnTimer) процедуры обработки события, которая закрывает форму. Указание имени формы «Первая» в диалоговом окне Параметры запуска.
При создание формы «Первая».
а) Задайте следующие значения для свойств формы:
Режим по умолчанию Простая форма
Допустимые режимы Форма
Полосы прокрутки Отсутствуют
Область выделения Нет
Поле номера записи Нет
Выравнивание по центру Да
Тип границы Отсутствует
Контекстные меню Нет
Открытие
Таймер
Чтобы пользователи могли рассмотреть заставку, в приложении «Первая» свойство Интервал таймера (TimerInterval) получает значение 5000 миллисекунд (т.е. 5 секунд) в процедуре обработки события Открытие и сбрасывается до 0 в процедуре обработки события Таймер.
б) В области данных создайте надписи для названия приложения и сведений об авторских правах. Создайте также свободную рамку объекта, в которую помещается эмблема приложения.
Процедура обработки события Открытие:
Private Sub Form_Open(Cancel As Integer)
‘ Форма открыта в качестве приложения.
‘ Скрывает кнопку и задает для интервала таймера
‘ (TimerInterval) 5 секунд.
‘ cmdЗакрыть.Visible = False
Me.TimerInterval = 5000
End Sub
Процедура обработки события Таймер:
Процедура обработки события Таймер (Timer) выполняется в период времени, заданный для свойства формы Интервал таймера (TimerInterval) событием Загрузка (Load). Данная процедура сначала задает для свойства Интервал таймера (TimerInterval) значение 0, запрещая таким образом возникновения события Таймер (Timer) во время загрузки формы. После этого вызывается процедура DisplayStartup для определения следующей открываемой формы.
Private Sub Form_Timer()
‘ Конструкция If используется для сброса значения
‘ свойства «Интервал таймера» (TimerInterval).
If Me.TimerInterval 0 Then
Me.TimerInterval = 0
DoCmd.OpenForm «Заставка»
End If
DoCmd.Close acForm, «Первая»
End Sub
Теперь укажем имя формы в параметре «Первая».
а) В окне базы данных выберите в меню Сервис команду Параметры запуска.
б) Введите имя «Первая» в поле Форма.
12. Приложение
Выделение не соседних или перекрывающихся элементов управления
-
Откройте форму в режиме конструктора формы или отчет в режиме конструктора отчета.
-
Нажмите клавишу SHIFT и, удерживая ее, выберите каждый нужный элемент управления.
Перемещение элемента управления и его подписи
-
Откройте форму в режиме конструктора формы или отчет в режиме конструктора отчета.
-
Выберите элемент управления или его подпись. Если выбрать компонент составного элемента управления, то маркеры перемещения и маркеры размера выводятся вокруг обоих компонентов элемента управления.
-
Перемещайте указатель по границе (не по маркерам перемещения) элемента управления или его подписи, пока указатель не примет вид открытой ладони, а затем перетащите элементы управления на новое место.
Изменение размеров элемента управления:
-
Откройте форму в режиме конструктора формы или отчет в режиме конструктора отчета.
-
Выберите элемент управления (или несколько элементов), размеры которого требуется изменить.
-
Перемещайте маркеры размера, пока элемент управления не получит требуемые размеры.
Если выделено несколько элементов управления, то при перемещении маркеров размера одного элемента будут изменяться размеры всех элементов.
Совет. Если размеры элемента управления нужно изменить на небольшую величину, удобнее нажать клавишу SHIFT и нажимать соответствующую клавишу перемещения курсора.
Изменение размеров элемента управления по размерам его содержимого
-
Откройте форму в режиме конструктора формы или отчет в режиме конструктора отчета.
-
Выделите один или несколько элементов управления, размеры которых нужно изменить.
-
Выберите команду Размер в меню Формат и подкоманду по размеру данных.
Привязка размеров элементов управления к сетке
-
Откройте форму в режиме конструктора формы или отчет в режиме конструктора отчета.
-
Если сетка не выведена на экран, выберите в меню Вид команду Сетка.
-
Выделите элементы управления, размеры которых требуется изменить.
-
Выберите команду Размер в меню Формат и подкоманду по узлам сетки.
Выравнивание размеров нескольких элементов управления
-
Откройте форму в режиме конструктора формы или отчет в режиме конструктора отчета.
-
Выделите элементы управления, размеры которых требуется изменить.
-
Выберите в меню Формат команду Размер и одну из следующих подкоманд:
-
по самому высокому — делает высоту всех элементов управления равной высоте самого высокого.
-
по самому низкому — делает высоту всех элементов управления равной высоте самого низкого.
-
по самому широкому — делает ширину всех элементов управления равной ширине самого широкого.
-
по самому узкому — делает ширину всех элементов управления равной ширине самого узкого.
-
Для создания линии в форме
-
Откройте форму в режиме конструктора формы или отчет в режиме конструктора отчета.
-
Нажмите кнопку Линия на панели элементов.
-
Чтобы создать линию стандартного размера, выберите место в форме или отчете, в которое она помещается; для создания линии произвольных размеров нажмите кнопку мыши и перетащите линию.
Чтобы создать горизонтальную или вертикальную линию, нажмите кнопку Линия и, нажав кнопку мыши, перетащите ее.
Чтобы немного изменить длину линии или угол ее наклона, выберите линию, нажмите клавишу SHIFT и, удерживая ее, нажимайте одну из клавиш перемещения курсора. Чтобы слегка передвинуть линию, нажмите клавишу CTRL и, удерживая ее, нажимайте одну из клавиш перемещения курсора.
Чтобы изменить толщину линии, выберите линию, нажмите стрелку раскрытия списка рядом с кнопкой Толщина линии/границы на панели Форматирование и выберите требуемую толщину линии. Для изменения типа линии (точечная, пунктирная и т.д.) выделите линию и нажмите кнопку Свойства на панели инструментов. На экране появится окно свойств. В ячейке свойства Тип границы (BorderStyle) выберите требуемый тип границы.
Добавление в форму фонового рисунка
-
Откройте форму в режиме конструктора.
-
Для открытия окно свойств дважды нажмите кнопку мыши на
Программа Dr.Explain предназначена для создания структурированных документов, содержащих текстовую, графическую и видео информацию. Dr.Explain позволяет удобно и быстро создавать файлы справки, руководства пользователя и другие документы. Благодаря функции захвата и анализа окна приложения можно без труда создать исчерпывающее описание любого интерфейса, в том числе приложения созданного на базе Microsoft Access. А использование функции экспорта созданного документа в форматы: HTML, CHM, RTF или PDF позволит не только включить созданное руководство в состав пакета документации, или подготовить его для использования в web, но и интегрировать в виде справочной системы непосредственно в приложение.
В данной инструкции описан процесс создания в программе Dr. Explain файла справки для Microsoft Access приложения и его последующая интеграция в формы базы данных.
Создание нового проекта
При запуске программы Dr. Explain автоматически открывается окно «Проекты Dr.Explain» (Рисунок 1).
Рисунок 1 — Окно «Проекты Dr.Explain»
Пункт «Открыть существующий» предназначен для возобновления работы с ранее сохраненным проектом, при этом в окне ниже отображается список последних созданных проектов и пункт «Просмотр…», который открывает окно проводника для поиска сохраненного проекта на диске.
Пункт «Импортировать внешние файлы» позволяет загрузить основное содержимое документа из файлов CHM, HTML, XML, HLP, TXT, RTF и документов Microsoft Word.
Для создания нового проекта выберете «Создать новый проект» и нажмите кнопку «ОК. После чего откроется окно текущего проекта (Рисунок 2). В левой верхней части окна расположен список всех страниц, разделов и подразделов документа. Ниже располагается область управления свойствами текущей страницы, а при нажатии кнопки «Ключевые слова» в этой области отображается список ключевых слов текущей страницы с элементами управления. Справа расположена основная область окна текущего проекта, которая предназначена для заполнения и редактирования выбранной страницы или раздела, в верхней части расположены основные элементы управления.
Рисунок 2 — Окно текущего проекта
Создание и редактирование основных разделов документа
Для выбора страницы, которую необходимо заполнить или отредактировать выберете соответствующий пункт в списке и разделов, затем приступайте к работе с содержимым в основной области редактирования.
Создание и редактирование текстовых разделов
Для заполнения страниц документа, необходимо вводить либо вставлять из буфера обмена текст в основной области редактирования страницы. Для работы с текстом предусмотрены основные элементы управления (Рисунок 3).
Рисунок 3 — Элементы управления для редактирования текста
Возможности редактирования включают в себя основные стандартные функции, такие как: изменение стиля, изменение шрифта, его размера, цвета и способа начертания (жирный, курсив и подчеркнутый, верхний/нижний индекс), выключка теста (по левому краю, по центру, по правому краю и по ширине), создание списков и проверка орфографии. Также предусмотрена возможность вставки различных объектов, таких как: ссылки, изображения, видеоролики, таблицы, переменные, html — фрагменты, горизонтальные линии, заголовки темы, изображения экрана, контрола и оглавления раздела.
Работа с элементами редактирования в целом аналогична работе с одноименными функциями в любом текстовом редакторе, например MS Word.
Создание описания интерфейса приложения
Для создания описания интерфейса в программе Dr.Explain предусмотрена функция захвата экрана приложения. Данная функция позволяет автоматически создать в документе соответствующий раздел, содержащий аннотированное изображение интерфейса приложения с линиями-выносками для каждого элемента и структурированное описание всех имеющихся элементов интерфеса.
Чтобы создать такой раздел нажмите кнопку «Схватить экран» в главном меню программы, после чего откроется окно «Захват объекта» (Рисунок 4).
Рисунок 4 — Окно «Захват объекта»
Далее выберите интересующее приложение и захватите его нажатием клавиши PrtScr (Print Screen), либо Ctrl +Клик левой кнопкой мыши, либо одновременным кликом правой и левой кнопок мыши.
Захваченный экран будет автоматически проанализирован и в окне программы Dr. Explain появится дополнительная область для работы с аннотированным изображением (Рисунок 5), при этом в основной области редактирования так же отображается аннотированное изображение и пронумерованные блоки с изображением отдельных элементов для их последовательного описания (Рисунок 6).
Рисунок 5 — Область работы с аннотированным изображением
Рисунок 6 — Основная область редактирования после добавления аннотированного изображения
Для редактирования аннотированного изображения в программе предусмотрено три режима, которые переключаются кнопками: «Дизайнер», «Области контролов» и «Редактор экрана», расположенными в левой части области работы с изображением (Рисунок 5).
Режим «Дизайнер» позволяет добавлять, удалять, скрывать нумерованные линии-выноски с названиями контролов, изменять расположение линий и названий, выравнивать взаимное расположение названий контролов, и настраивать общий стиль выносок. Также в режиме «Дизайнер» можно изменить размеры изображения или заменить захваченное изображение интерфейса повторным захватом экрана, либо изображением из файла или буфера обмена. Все перечисленные действия выполняются с помощью кнопок, расположенных в верхней части области работы с изображением (Рисунок 7).
Рисунок 7 — Кнопки редактирования аннотированного изображения
Для добавления, скрытия и удаления линий-выносок используйте кнопки . Для того чтобы изменить расположение линии-выноски и соответствующего ей названия выделите левой кнопкой мыши линию, затем захватите элемент, который необходимо переместить (название с номером, либо свободный конец линии-выноски ) и перетащите его на нужное место.
Чтобы изменить область контрола, которой соответствует определенная линия-выноска нажмите сначала кнопку , которая отобразит все области контролов, затем выделите область контрола, которую хотите изменить, захватите ее и перетащите на нужное место. Для изменения размеров области после ее выделения потяните левой кнопкой мыши за соответствующий край.
После того как вы создали все необходимые линии-выноски и указали соответствующие им области контролов, необходимо выровнять расположение названий. Для этого, зажав левую кнопку мыши на свободном поле, растяните область выделения на нужные элементы. После выделения элементов воспользуйтесь кнопками выравнивания и распределения .
Кнопка открывает окно настроек аннотирования и области дизайнера. Здесь можно настроить стиль аннотаций и тень для изображения (Рисунок 8).
Рисунок 8 — Настройка стиля аннотаций
Кнопки и позволяют заменить изображение и изменить его размеры соответственно. Изменить размер изображения можно выделив его в редакторе и потянув за угловую метку. Пункт «Сбросить» выпадающего меню кнопки изменения размера позволяет восстановить первоначальный размер изображения.
В режиме «Области контролов» отображается полный список всех имеющихся контролов. При выделении позиции списка соответствующая ей область выделяется в окне изображения, а в основной области редактирования выделяется текстовый блок соответствующий данному контролу. В данном режиме можно добавить, удалить и скрыть/отобразить отдельные контролы.
Изменить область контрола можно так же, как и в режиме «Дизайнер» растягивая и перемещая выделенную область, а можно воспользоваться полями точных значений, которые расположены под изображением.
Режим «Редактор экрана» позволяет добавлять надписи непосредственно на изображение. Для редактирования текста доступны основные стандартные функции.
После того как настройка аннотированного изображения полностью закончена, добавлены все необходимые контролы, линии-выноски и надписи, а также откорректировано размещение всех элементов можно приступать к заполнению текстовых блоков для описания всех элементов интерфейса. Для этого перейдите в основную область редактирования, выберите нужный текстовый блок нажатием левой кнопки мыши, после чего блок будет выделен и можно приступать к заполнению названия и описания контрола.
При заполнении названия элемента интерфейса в текстовом блоке, автоматически изменяется название соответствующей линии-выноски и название контрола в списке в режиме «Области контролов».
Для изменения порядка следования текстовых блоков с описанием элементов просто перетащите нужный блок, захватив его левой кнопкой мыши, а затем разместите блок в выбранном месте повторным нажатием левой кнопки мыши. При этом автоматически изменится нумерация всех текстовых блоков, а также нумерация всех линий-выносок в режиме «Дизайнер» и нумерация всех позиции списка контролов в режиме «Области контролов».
Переместить вверх или вниз, скрыть или удалить текстовый блок можно с помощью кнопок в верхней правой части блока.
Создание документа путем импорта внешних файлов
Программа Dr. Explain позволяет создать документ или отдельные его разделы, импортировав содержимое из внешнего файла. Данная функция поддерживает импорт из следующих источников: Compiled HTML help (CHM) файлов, одиночных HTML файлов, HLP файлов, RTF файлов, документов Microsoft Word, а также из папок с файлами HTML, TXT и XML.
Редактирование структуры документа
Для создания новых страниц, разделов и подразделов, а также для редактирования структуры документа предназначена область списка в левой верхней части окна текущего проекта (Рисунок 9).
Рисунок 9 — Область списка страниц проекта
Для изменения порядка следования разделов и страниц воспользуйтесь пунктами «Выше»/»Ниже» контекстного меню, которое открывается при нажатии правой кнопки мыши на соответствующей позиции списка. Для переименования страницы выделите ее нажатием левой кнопки мыши, затем повторно щелкните по ее названию.
Для перемещения подразделов из одного раздела в другой просто захватите соответствующую позицию списка страниц, разделов и подразделов левой кнопкой мыши и переместите курсор на позицию того раздела, в который хотите переместить захваченный подраздел.
Кнопка включает/отключает запрет внесения изменений для выбранной позиции списка.
Особенности структуры файла справки Microsoft Access приложения
Приложения Microsoft Access, как правило, являются надстройками над базами данных, поэтому для них характерно наличие в одном приложении нескольких различных форм с отличающимся интерфейсом. При этом каждая из таких форм может содержать большое количество различных полей для ввода информации, а так же те или иные элементы управления. Функционал программы Dr.Explain позволяет создать документ, структура которого будет максимально соответствовать структуре описываемого приложения.
Например для описания различных форм, либо главного интерфейса приложения (если таковой имеется) можно создать корневые разделы. Для этого выполните следующие действия:
- кликните правой кнопкой мыши на позиции с названием проекта, которая находится в самом верху списка страниц и разделов;
- в открывшемся меню выберите пункт «Добавить»;
- во вложенном меню выберите пункт «Добавить тему с аннотированным экраном» (для создания раздела с описанием главного интерфейса приложения);
- во вложенном меню выберите пункт «Добавить тему» (для создания текстовых разделов с описанием отдельных форм).
Для описания интерфейсов отдельных форм, их элементов или таблиц и других связанных с формами данных воспользуйтесь описанной процедурой для создания подразделов в соответствующих корневых разделах. Если необходимо создать дополнительное деление в пределах подразделов, то можно аналогичным образом создать вложенные темы внутри разделов.
Работа с начальной страницей и страницей оглавления. Создание ключевых слов.
Начальная страница и страница оглавления автоматически включаются в структуру документа при создании нового проекта.
Редактирование начальной страницы в целом аналогично редактированию текстовых разделов документа. Основные функции, доступные при редактировании текстовых разделов, рассмотрены ранее. Особенностью начальной страницы является, то что удалить ее из структуры документа невозможно, но при необходимости данная страница может быть скрыта, для этого используйте пункт «Показать/скрыть» меню редактирования структуры, которое можно вызвать кликом правой кнопкой мыши по позиции «Начальная страница» в структуре документа. Вы так же можете переименовать начальную страницу, воспользовавшись пунктом «Переименовать» того же меню.
Страница «Оглавление» заполняется автоматически в соответствии со структурой документа (Рисунок 10). Редактирование оглавления сводится к изменению заголовка страницы и скрытию/отображению по необходимости отдельных разделов, подразделов и страниц.
Рисунок 10 — Редактирование страницы «Оглавление»
Для того, чтобы скрыть любую страницу, раздел или подраздел оглавления нажмите кнопку , которая появляется слева при наведении курсора на соответствующую позицию. При скрытии разделов и подразделов, которые имеют вложения, скрываются и все вложенные страницы и подразделы. Все скрытые пункты при этом отображаются в списке серым цветом.
Для отображения скрытых ранее пунктов используйте кнопку , которая появляется при наведении курсора, на соответствующую скрытую позицию списка.
Когда работа над структурой и содержимым документа будет завершена, можно приступить к созданию ключевых слов для всех разделов, подразделов и страниц. Ключевые слова позволяют быстро находить в тексте документа интересующие пользователя разделы, тем самым значительно повышая удобство работы с файлом справки и сокращая время, необходимое для поиска в файле ответов на возникшие вопросы.
Для создания ключевых слов используйте область работы с ключевыми словами (Рисунок 11), которая открывается в левой нижней части окна текущего проекта после нажатия на кнопку «Ключевые слова», расположенную под областью списка разделов, подразделов и страниц. Предложенные элементы управления позволяют добавлять и удалять термины, а также настроить ссылки на соответствующие каждому термину разделы и страницы документа.
Рисунок 11 — Область работы с ключевыми словами
Предварительный просмотр и экспорт документа. Сохранение проекта.
После того как работа над документом завершена, необходимо экспортировать его в интересующий формат. Dr. Explain позволяет сохранять созданные документы в форматах HTML, CHM, RTF и PDF. Перед тем как приступить к экспорту документа воспользуйтесь функцией предварительного просмотра (Рисунок 12), для этого используйте кнопки в верхней части окна текущего проекта.
Рисунок 12 — Предварительный просмотр документа в формате CHM
Кнопка «Редактор» возвращает окно текущего проекта в режим редактирования документа. Обратите внимание, что функция предварительного просмотра не доступна для формата RTF.
В режиме предварительного просмотра убедитесь в правильном отображении всех страниц и разделов документа. При необходимости вернитесь в режим редактирования и внесите требуемые изменения.
Для того, чтобы позднее возобновить работу над проектом, рекомендуется сохранить проект, для этого используйте пункт «Сохранить как», который находится в меню «Файл». После выбора данного пункта открывается стандартное окно сохранения файла, где предлагается ввести имя файла и указать его размещение.
Для экспорта в интересующий формат используйте кнопки в основной панели элементов управления окна Dr.Explain.
Для дальнейшей интеграции созданного файла справки в приложение Microsoft Access рекомендуется использовать формат CHM. После нажатия кнопки , открывается окно «Экспорт в CHM». В этом окне предлагается провести проверку документа перед началом экспорта и открыть экспортированный файл по завершении процесса.
Также можно настроить дополнительные параметры, нажав кнопку «Больше», которая открывает окно настроек экспорта в формат CHM. Обратите внимание, что содержимое окна настроек экспорта индивидуально для каждого формата. В разделе «Структура страницы» расположена кнопка «Настроить», которая вызывает окно настройки HTML шаблона и раскладки, позволяющее детально настроить параметры CHM документа.
После того как все необходимые параметры настроены, нажмите кнопку «Начать экспорт». В открывшемся окне укажите имя и размещение файла и нажмите кнопку «Сохранить».
Интеграция файла справки в MS Acсess приложение
Для интеграции созданного файла справки в приложение необходимо создать в формах базы данных элемент управления, который будет вызывать файл справки (Рисунок 13).
Рисунок 13 — Форма «Заявка на аренду» с кнопкой «Справка»
Для этого выполните следующие действия:
- откройте интересующее приложение в Microsoft Access;
- откройте форму, в которой хотите создать элемент вызова файла справки;
- перейдите в режим конструктор, для этого щелкните по форме правой кнопкой мыши и выберите в меню пункт «Конструктор»;
- выберите элемент «Кнопка» в открывшемся разделе «Элементы управления» главной панели быстрого доступа Microsoft Access (панель расположенная в верхней части окна Microsoft Access);
- разместите элемент на свободном поле выбранной формы;
- после размещения элемента, в панели справа отображаются его свойства, если панель свойств отсутствует, то нажмите кнопку «Страница свойств» в разделе «Сервис» панели быстрого доступа;
- в окне свойств в закладке «Другие» введите название элемента, например «Help» в поле «Имя»;
- если требуется введите текст всплывающей подсказки, в одноименное поле;
- в закладке макет в поле «Подпись» введите подпись, которая будет отображаться на кнопке, например «Справка»;
- затем перейдите к закладке «События»и нажмите кнопку в поле «Нажатие кнопки»;
- в открывшемся окне выберите пункт «Программы» и нажмите «ОК», после чего откроется окно кода элемента в приложении Microsoft Visual Basic (Рисунок 14);
Рисунок 14 — Код элемента в Microsoft Visual Basic
- в строке «Private Sub Help_Click()» отображается имя вашего элемента (в данном случае «Help»). Введите ниже строку — Call Shell(«explorer.exe » & CurrentProject.Path & «help.chm», vbNormalFocus), где help.chm -имя файла справки в формате CHM. После чего весь код элемента управления должен иметь вид:
Private Sub Help_Click()
Call Shell(«explorer.exe » & CurrentProject.Path & «help.chm», vbNormalFocus)
End Sub
- закройте окно Microsoft Visual Basic;
- сохраните форму;
- проверьте корректную работу элемента управления, для этого откройте форму и нажмите кнопку «Справка», после чего должен открыться файл справки созданный ранее в программе Dr.Explain;
- повторите описанную процедуру для всех форм, в которые необходимо вставить элемент вызова справки.
ОБРАТИТЕ ВНИМАНИЕ! Для корректной работы элемента вызова файла справки необходимо, чтобы файл в формате CHM и файл базы данных находились в одной директории. Если есть необходимость разместить файл справки отдельно от файла базы данных, то используйте такую строку кода элемента управления Shell «cmd /cstart D:worktechwritehelp.chm», где D:worktechwritehelp.chm — полный путь до файла справки в формате CHM. Код в целом будет иметь вид:
Private Sub Help_Click()
Shell «cmd /cstart D:worktechwritehelp.chm»
End Sub
В таком случае при любом изменении размещения файла справки, путь , указываемый в коде элемента управления должен быть заменен на актуальный.
Будьте внимательны при вводе кодов управляющих элементов, строго соблюдайте синтаксис, приведенный в примерах, это является обязательным условием правильной работы элемента вызова файла справки.
Предисловие.
Создание баз данных с помощью приложения MS Access 2003 — задача довольно распространенная по причине включения самого приложения в пакет MS Office, но когда начинаеш читать учебники и руководства по MS Access 2003, то становится малость не посебе от обилия возможных вариантов создания баз данных, с помощью этого приложения. Данная инструкция по созданию базы данных, была написана автором чисто для себя (во время изучения MS Access), в качестве подручного материала по созданию базы данных и использует только какой то один вариант в каждом конкретном случае, не углубляясь в теорию
Создание базы данных начинается с ее планирования, а потом уже создаются остальные части задуманного, согласно разработанного плана действий.
План базы данных My_own_base
- Адрес — таблица адресов мест хранения
поля — КодАдреса(Счетчик), Адрес, Примечание. - Помещение — таблица с перечнем помещений для хранения
поля — КодПомещения(Счетчик), помещение, примечание. - Шкаф — таблица с перечнем шкафов (ящиков)в помещениях
поля — КодШкафа(счетчик), шкаф, примечание. - Полка — таблица с перечнем полок (секций) в шкафу.
поля — КодПолки (счетчик), полка, примечание. - Папка — таблица с перечнем папок для хранения документов
поля — КодПапки (счетчик), папка, примечание. - Документ — таблица содержащая список документов ( с разбивкой — по вышеприведенным признакам)
поля — КодДокумента (счетчик), адрес, помещение, шкаф, полка, папка, документ, дата открытия, дата закрытия, аннотация,актуальность (текущая), примечание. - Книга — таблица содержащая список книг (с разбивкой — по вышеприведенным признакам)
поля — КодКниги (счетчик), адрес, помещение, шкаф, полка, книга, автор, название книги, год издания,номер издания, место издания, формат издания (повесть, роман и т.д.), аннотация, примечание.
Создание базы и ее компонентов
Открываем__MS_Access_2003
Создаем новую базу.
Создаем таблицы.
Создаем таблицы с соответствующими полями (7шт)с использованием нескольких кнопок
Таблицы, Создание таблиц в режиме конструктора,Конструктор, Открыть.
* поля счетчиков — обязательно ключевые и их заполнение идет автоматически,следует заметить что в MS Access обнуление счетчиков (при необходимости), вопрос решаемый, но достаточно хлопотный.
Продолжаем создание таблиц.
Продолжаем создание таблиц, используя этот шаблон (последовательность).
И тогда конечный вид для таблицы Документ, будет иметь вид
а для таблицы Книги
Продолжаем создание таблиц, используя этот шаблон(последовательность).И тогда конечный вид для таблицы Книги, будет иметь вид
и здесь Далее
и здесь продолжаем˜
Здесь из выпадающих списков выбираем соответствующие поля и нажимаем Далее
Здесь просто нажимаем Далее
Здесь нажимаем Готово
и здесь Да
Окончание создания таблиц.
Выполняем перечисленные для Подстановки процедуры с полями Помещение, Шкаф, Полка в таблице Книги и с полями Адрес, Помещение, Шкаф, Полка, Папка в таблице Документы Для поля Актуальность в таблице Документы создадим отдельную таблицу.
* При этом тип данных в этих полях автоматически поменяется с текстовый на числовой.
Просмотрим схему данных базы, после выполненных процедур.
Если сейчас открыть вкладку Подстановка в таблице Книги, то там можно увидеть такую картину“
Т.е. таблицы входящие в базу связаны между собой, база работоспособна и ее таблицы можно наполнять данными.
Формы в базе MS Access
Но MS Access обладает еще целым рядом расширенных функций для облегчения работы пользователя и их подключением мы сейчас и займемся.
Создадим формы для чтения и заполнения таблиц данными.
Вот такая форма у нас получилась.
Повторяем создание форм для всех таблиц используя приведенный шаблон.
Запросы к базе MS Access
Создаем запросы на выборку данных из базы
Выбираем нужные для формирования запроса поля и нажимаем Далее
Вот такой бланк запроса у нас получился
Повторяем создание запросов для таблицы Книги, для других таблиц есть смысл создавать запросы тогда когда в них будет количество полей более 25 (это только мое мнение — можно в принципе создавать поиск и в таблице с 2-3 полями).И вот такая форма запроса для таблицы Книги.
Поля формы (ширину колонок)можно изменить простым перетаскиванием границ при нажатой правой кнопке мыши
Отчеты в базах MS Access
Так же сформируем отчеты для нашей базы данных
Так же сформируем отчеты для нашей базы данных
Заключение
Ну вот и все — простейшая база создана и ею можно пользоваться. То что база простейшая отнюдь не означает, что она не может работать полнофункционально, все функции в наличии. Усложнения возможны за счет формирования более сложных отчетов, создания сложных запросов, более красивого оформления форм, добавления в таблицы, каких то не достающих полей. По большому счету можно модифицировать и эту базу под свои нужды и вкусы, а можно и создать новую базу, взяв за основу эту базу.
Удачи в творчестве.
Приложение.
1. Электронная книга в HTML формате
2. Электронная книга в EXE формате
3. Электронная книга в PDF формате
4. Электронная книга в PDF формате
Copyright © Grigoriy Krotko, 2010-2011
http://www.krognet.com************ ‘+addy_textff36b2a5b6de30f389fd801b205ba386+»;%20%09%09″>Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. document.getElementById(‘cloak5dd7bd348d8f991bc7798ec074907fac’).innerHTML = »; var prefix = ‘ma’ + ‘il’ + ‘to’; var path = ‘hr’ + ‘ef’ + ‘=’; var addy5dd7bd348d8f991bc7798ec074907fac = ‘admin’ + ‘@’; addy5dd7bd348d8f991bc7798ec074907fac = addy5dd7bd348d8f991bc7798ec074907fac + ‘krognet’ + ‘.’ + ‘com’; var addy_text5dd7bd348d8f991bc7798ec074907fac = ‘admin’ + ‘@’ + ‘krognet’ + ‘.’ + ‘com’;document.getElementById(‘cloak5dd7bd348d8f991bc7798ec074907fac’).innerHTML += »+addy_text5dd7bd348d8f991bc7798ec074907fac+»;
Сегодня поговорим на тему «Однотабличные формы в Access». Формы являются основой разработки диалоговых приложений пользователя для работы с базой данных. Формы, адекватные формам первичных документов, позволяют выполнять загрузку справочных, плановых и оперативно-учетных данных, в любой момент просматривать и редактировать содержимое ранее введенных в базу данных документов, оформлять новые документы.
Формы обеспечивают удобную работу с данными одной или нескольких взаимосвязанных таблиц, которые выводятся на экран с использованием ее макета, разработанного пользователем. Работая с формой, пользователь может добавлять, удалять и изменять записи таблиц, получать расчетные данные. В процессе работы может осуществляться контроль вводимых данных, могут проверяться ограничения на доступ к данным, выводиться необходимые дополнительные сведения.
Форма состоит из элементов управления, которые отображают поля таблиц, и графические элементы, не связанные с полями таблиц. Графические элементы управления предназначены, прежде всего, для разработки макета формы: полей таблиц и запросов, надписей, внедряемых объектов (рисунков, диаграмм), вычисляемых полей, кнопок, выполняющих печать, открывающих другие объекты или задачи.
Однотабличные формы в Access
Однотабличные формы в Access предназначены для загрузки, просмотра и корректировки данных одной таблицы. Источником данных такой формы служит единственная таблица. Она может быть легко создана одним щелчком мыши с помощью команд автоматического создания формы: Форма (Form), Разделенная форма (Split Form) или Несколько элементов (Multiple Items), размещенных на вкладке ленты Создание (Create) в группе Формы (Forms) (рис. 5.1). Для последующей настройки формы в соответствии с требованиями пользователя ее можно доработать в режиме макета или конструктора. Можно удалить из формы ненужные поля, изменить расположение элементов управления и подобрать их размеры, добавить новые элементы управления, произвести вычисления, задать свойства формы и ее элементов управления.
В форме, созданной с помощью команды Несколько элементов (Multiple Items), отображается сразу несколько записей, и все поля записи размещаются в одной строке, что удобно для ввода данных из простых справочников, имеющих только табличную часть. Этот макет формы аналогичен отображению записей таблицы в режиме таблицы, однако при этом предоставляются многочисленные возможности по настройке отображения и дополнения новыми элементами.
В форме, созданной с помощью команды Разделенная форма (Split Form), одновременно отображаются данные в двух представлениях — в одном ее разделе записи отображаются в виде таблицы, в другом выводится единственная выделенная в таблице запись, предназначенная для удобной работы с ее данными.
Общим для этих команд является то, что они автоматически создают для выбранной таблицы форму, не вступая в диалог с пользователем, и сразу выводят на экран форму в режиме макета.
Создать однотабличные формы в Access можно с помощью команды Мастер форм (Form Wizard), размещенной на вкладке ленты Создание (Create) в группе Формы (Forms). В диалоговых окнах мастера пользователь выбирает поля, которые надо включать в форму, способ отображения записей, стиль оформления.
Создайте однотабличную форму СПРАВОЧНИК ТОВАРОВ для ввода, просмотра и корректировки данных таблицы ТОВАР в базе данных Поставка товаров. Поскольку в таблице есть поле с фотографией, требующее большой области для отображения, одновременно выводите в форме поля только одной записи таблицы.
Чтобы источником записей формы стала таблица ТОВАР, выберите ее в области навигации и выполните команду Форма (Form) на вкладке ленты Создание (Create). Эта команда обеспечит автоматическое создание формы на основе только одной выбранной таблицы. Завершается работа команды отображением формы в режиме макета (рис. 5.2). При этом в форме отображаются поля одной записи таблицы, расположенные в макете в столбик. Заголовок формы соответствует имени таблицы источника ТОВАР. Скрытые в таблице поля, например, командой Скрыть поля (Hide Fields) из контекстного меню выделенного столбца, не включаются в форму.
Для закрепления темы «Однотабличные формы в Access» смотрим видеоурок: