48780 (588610), страница 4
Текст из файла (страница 4)
После определения структуры таблицы ее надо сохранить с нужным именем. После сохранения таблицы делается доступным режим таблицы, позволяющий перейти ко второму этапу создания таблицы — созданию записей. Переход в режим таблицы осуществляется нажатием кнопки Представление таблицы.
Непосредственный ввод данных в таблицу
Непосредственный ввод данных в таблицу осуществляется в режиме таблицы. Для перехода в этот режим из окна базы данных надо выбрать таблицу и нажать кнопку Открыть. В открывшуюся таблицу можно вводить новые записи, заполняя значениями поля.
При заполнении таблиц, для связей между которыми не определены параметры целостности, только от пользователя зависит обеспечение корректности вводимой информации. При одно-многозначных отношениях таблиц и вводе записей в подчиненную таблицу необходимо отслеживать наличие записей с вводимыми значениями ключевых полей в главной таблице. При изменении (удалении) ключевых полей в записях главной таблицы необходимо изменять (удалять) связанные с ними записи в подчиненных таблицах.
После ввода значения в ячейку поля и попытке перейти к другой ячейке Access проверяет, являются ли введенные данные допустимыми для этого поля. Если введено значение, не соответствующее типу данных поля, Access пытается преобразовать его в правильный тип данных.
Для удобства работы с таблицей можно изменить ее представление на экране — макет. При этом можно менять ширину столбца, высоту строки, шрифт данных таблицы, цвет текста, линий сетки и фона, оформление.
Использование данных типа «Поле объекта OLE»
В таблице КАФЕДРА рассматриваемой базы данных предусмотрено поле ФОТО, которое должно содержать фотографию заведующего, хранящуюся в формате графического редактора Paint в файле с расширением BMP. Тип данных такого поля должен быть задан при определении структуры таблицы как Поле объекта OLE. Размещение этого объекта в поле производится на этапе заполнения полей таблицы. Для отображения объекта OLE необходимо создать в форме или отчете элемент управления — связанную рамку объекта.
Внедренный объект сохраняется в файле базы данных и всегда является доступным. Связанный объект сохраняется в файле объекта. Файл объекта можно обновлять независимо от базы данных.
Для размещения объекта OLE в поле необходимо в режиме таблицы установить курсор на этом поле и выполнить команду Вставка | Объект. В окне Вставка объекта надо выполнить действия по поиску и выбору файла с фотографией.
Схема данных в Access
Схема данных является не только графическим образом базы данных, но используется Access в процессе работы с базой данных. Создание схемы данных позволяет упростить конструирование многотабличных форм, запросов и отчетов, а также обеспечить поддержание целостности взаимосвязанных данных при корректировке таблиц.
Взаимосвязи таблиц. Схема данных задает структуру базы данных. В ней определяются и запоминаются связи между таблицами. Схема данных базы графически отображается в своем окне, где таблицы представлены списками полей, а связи — линиями между полями разных таблиц. Схема данных ориентирована на работу с таблицами, отвечающими требованиям нормализации, между которыми могут быть установлены одно-многозначные (1:М) или одно-однозначные (1:1) связи с обеспечением целостности базы данных. Поэтому схема данных строится в соответствии с информационно-логической моделью.
При построении схемы данных Access автоматически определяет по выбранному полю связи тип связи между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом как в главной таблице, так и в подчиненной, Access устанавливает связь один-к-одному. Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ, Access устанавливает связь один-ко-многим от главной таблицы к подчиненной.
Связи-объединения. При выборе в качестве поля связи в главной таблице не ключевого поля Access сообщает, что тип отношения не может быть определен.
В этом случае между таблицами возможно установление только связи-объединения. Связь-объединение обеспечивает объединение записей двух таблиц, имеющих одинаковые значения в поле связи. Причем производится объединение каждой записи из одной таблицы с каждой записью из другой таблицы при условии равенства значений в поле связи. Результатом объединения записей, который определяется выбором одного из трех способов, может быть:
• объединение только тех записей, в которых связанные поля обеих таблиц совпадают;
• объединение тех записей, в которых связанные поля обеих таблиц совпадают, а также объединение всех записей из первой таблицы (для которых нет связанных во второй) с пустой записью второй таблицы;
• объединение тех записей, в которых связанные поля обеих таблиц совпадают, а также объединение всех записей из второй таблицы, для которых нет связанных в первой, с пустой записью первой таблицы.
Обеспечение целостности данных. Для связей типа 1:1 и 1:М можно задать параметр обеспечения целостности данных. Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц перечисленных ниже условий корректировки базы данных:
• в подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;
• в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
• изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы.
При попытке пользователя нарушить эти условия в операциях обновления или удаления данных в связанных таблицах Access не допускает выполнения операции.
Установление между двумя таблицами связи типа 1:М или 1:1 и задание для нее параметров целостности данных возможно только при следующих условиях:
• связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
• обе таблицы сохраняются в одной базе данных Access;
• главная таблица связывается с подчиненной по первичному простому или составному ключу (или уникальному индексу) главной таблицы.
Примечание. Access не позволяет создавать связей с параметрами целостности в схеме данных, если ранее введенные в таблицы данные не отвечают требованиям целостности.
Если для выбранной связи обеспечивается поддержание целостности, можно задать режим каскадного обновления и удаления связанных записей. В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях. В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях.
Создание схемы данных начинается в окне базы данных с выполнения команды Сервис | Схема данных или нажатия соответствующей кнопки. После этого можно выбрать таблицы, включаемые в схему данных, и приступить к определению связей между ними. Устанавливая связи между парой таблиц в схеме данных, надо выделить в главной таблице уникальное ключевое поле, по которому устанавливается связь, и протащить курсор мыши в соответствующее поле подчиненной таблицы.
Поскольку схема строится для нормализованной базы данных, в открывающемся окне Связи автоматически установится тип отношения один-ко-многим. Для такой связи можно задать параметр Обеспечение целостности данных, а затем установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей.
3.3 Загрузка, просмотр и корректировка БД
Access предоставляет широкие возможности по конструированию графического интерфейса пользователя для работы с базой данных. Одним из важнейших инструментов работы являются формы ввода/вывода, которые позволяют осуществлять первоначальную загрузку записей в таблицы базы данных, выполнять их просмотр, а также производить корректировку данных — добавлять и удалять записи, изменять значения в полях.
Технология создания целостной базы, в которой между таблицами установлены связи, предполагает упорядочение загрузки взаимосвязанных таблиц при обеспечении пользователя удобным интерфейсом. При наличии схемы данных Access, состоящей из связанных одно-многозначными отношениями нормализованных таблиц, могут быть созданы экранные формы, которые обеспечивают корректный ввод взаимосвязанных данных. Такие формы, как правило, в значительной степени соответствуют формам первичных документов — источников данных для загрузки справочной информации и оперативных учетных данных. При этом обеспечивается однократный ввод данных.
Прежде чем отображать, вводить или корректировать данные таблиц через экранную форму, надо сконструировать ее.
Загрузка с использованием форм
Перед конструированием форм в Access целесообразно определить последовательность загрузки базы данных. Независимо могут загружаться таблицы, которые не подчинены каким-либо другим таблицам в одно-многозначных связях.
Таблицы, подчиненные каким-либо другим таблицам, могут загружаться либо одновременно с ними, либо после загрузки главных таблиц. В базу данных сначала загружаются справочные данные, а затем — учетные данные из соответствующих документов.
Этапы загрузки базы данных
В процессе определения этапов загрузки базы данных и требовании к конструируемым формам целесообразно выполнить:
• определение документов-источников внемашинной сферы, содержащих необходимые данные для загрузки таблиц базы данных;
• определение таблиц — объектов загрузки с одного документа-источника;
• определение последовательности загрузки;
• определение подсхемы данных для каждого этапа загрузки, необходимой для построения экранной формы ввода с документа. В подсхему данных могут входить: таблицы - объекты загрузки; таблица, связанная с объектом загрузки и содержащая данные для отображения (вывода) в форме; таблица, главная относительно загружаемой, позволяющая группировать вводимые (выводимые) записи;
• определение общей структуры экранной формы, то есть ее макета в соответствии со структурой входного документа и подсхемой данных. При этом для многотабличной (составной) формы определяется таблица, которая будет источником записей основной части этой формы, а также определяются таблицы, которые будут источником записей подчиненных форм, включаемых в составную форму;
• определение состава и размещение реквизитов для каждой из частей составной формы.
Примечание. Ключевые поля таблицы-источника основной части надо вводить в эту часть формы. В подчиненной форме надо предусмотреть ключевые поля таблицы-источника этой формы, которых нет в таблице-источнике основной части.
В соответствии с полученным макетом формы осуществляется конструирование экранной формы средствами Access.
Разработка форм в Access
Конструирование форм осуществляется средствами Access в соответствии с требованиями к форме, определенными пользователем в процессе подготовительной работы. При этом указывается, из какой таблицы нужно отображать данные, какие именно поля должны быть представлены в форме, нужны ли вычисляемые поля, какие графические элементы, служащие для ее оформления, будут использоваться — линии, поясняющий текст, рисунки.
Структура формы
Структура формы отображается в режиме Конструктора форм. В этом режиме может производиться настройка областей и элементов формы пользователем.
В окне Конструктора выделяются области заголовка, данных и примечаний формы. Области формы наполняются различными графическими объектами. Графические объекты, связанные с записями таблиц и предназначенные для отображения данных некоторого поля, называются элементами управления. Основными типами элементов управления являются поле, поле со списком и список.
Графические объекты, не связанные с таблицами или запросами, предназначены, прежде всего, для создания макета формы и содержат надписи полей (пользовательские названия реквизитов), внедряемые объекты, надписи этих объектов, заголовки. Информация об этих элементах сохраняется в макете формы.
Как форма в целом, так и каждый из ее элементов обладает свойствами, которые можно просматривать и корректировать. Свойства элемента позволяют определить его внешний вид, размер, местоположение в форме, режим ввода/вывода, привязать к элементу выражение, макрос или программу. Свойства отображаются в диалоговом окне, где для каждого свойства и его значения отводится строка. В форме могут быть предусмотрены кнопки управления для разных целей, например для перехода к другим записям в просматриваемой таблице, для работы с записями (добавить, дублировать, восстановить, удалить, сохранить), для работы с формой (открыть, закрыть, фильтровать, обновить).
При конструировании форм используются Панель конструктора форм, Панель форматирования, Панель элементов.
Мастер и Конструктор форм
Форма может быть создана пользователем в режиме Конструктора форм или с помощью Мастера. В первом случае создание начинается с пустой формы и конструирование полностью возлагается на пользователя. Мастер форм или Автоформа автоматизирует создание формы, уточняя у пользователя параметры формы. Чтобы начать создание формы, надо в окне базы данных выбрать вкладку Формы и нажать кнопку Создать. Открывающееся диалоговое окно Новая форма предоставляет возможность выбрать режим создания формы.
Мастер форм может создавать форму для одной таблицы или для нескольких взаимосвязанных таблиц. При выборе только одной таблицы могут быть созданы формы В один столбец, Табличная или Ленточная. Форма В один столбец является однозаписевой, Табличная и Ленточная формы являются многозаписевыми и размещают все поля в одной строке. Мастер форм позволяет пользователю определить, какие поля включаются в форму, и выбирать стиль ее оформления.
Команды Автоформа создают для заданной таблицы формы, которые отличаются от форм, создаваемых Мастером, тем, что включают все поля таблицы и не предоставляют возможности выбора стиля оформления. Эти команды, не вступая в диалог с пользователем и не отображая формы в режиме Конструктора, выводят ее на экран в режиме формы, то есть заполненную значениями из таблицы.
Форма, созданная Мастером пли любой командой Автоформа, может быть отредактирована в соответствии с требованиями пользователя в режиме Конструктора форм.
Разработка многотабличной формы
Составная многотабличная форма создастся для работы с несколькими взаимосвязанными таблицами. Многотабличная форма может состоять из основной части и одной или нескольких подчиненных включаемых форм, то есть быть составной. Подчиненная форма может быть построена на основе как подчиненной, так и главной таблицы относительно таблицы-источника основной части формы.
Многотабличная форма может не иметь включаемых форм. В этом случае в форму кроме полей таблицы, на основе которой она строится, добавляются поля из связанной таблицы, являющейся главной относительно основной таблицы формы.
Многотабличная форма может быть создана в режиме Конструктора или с помощью Мастера форм. При конструировании и создании многотабличной формы средствами Access могут использоваться различные приемы. Наиболее технологичным является, очевидно, первоначальное создание форм с помощью Мастера с последующей их доработкой в Конструкторе. Мастер упрощает процесс создания формы, так как автоматически выполняет большинство требуемых операций.
Создание многотабличной формы с помощью Мастера
Мастер форм предоставляет возможность выбрать включаемые в форму поля из нескольких взаимосвязанных таблиц, а также запросов. При этом используются различные способы построения многотабличной формы.
• Явное включение подчиненной формы. С помощью Мастера можно создать составную форму, включающую одну или несколько подчиненных форм стандартного вида с выбранными полями. При этом подчиненная форма строится для каждой подчиненной таблицы. Подчиненная форма отображает данные из всех записей подчиненной таблицы, которые связаны с записью главной таблицы, отображаемой в основной части формы.