Access 2002. Самоучитель
Шрифт:
– с помощью опции Автостраница;
– с помощью мастера страниц;
– в режиме конструктора страниц.
Открыть уже существующую страницу доступа к данным можно:
– в режиме просмотра страницы;
– в Internet Explorer.
Все эти способы подробно рассмотрены в настоящей главе.
4. Кроме того, в Access 2002 можно создать и включить в страницу доступа к данным компонент Сводная таблица. С его помощью пользователи могут просматривать данные отчетов, выполнять их динамическую сортировку и фильтрацию, группировать сведения по строкам или столбцам, получать суммарные значения и изучать их отдельные составляющие. Все это позволяет
Глава 7 Конвертирование баз данных из других программных сред
Мы уже говорили о том, что по мере появления новых, более совершенных СУБД все актуальнее становится проблема использования данных, которые накоплены в информационных банках предыдущих, в том числе и морально устаревших, версий. И сами эти СУБД, и организованные в них сведения очень разнообразны по составу, структуре и форматам данных, а также по программной основе. Эти БД часто создавались разными организациями и разработчиками, вот почему какие-либо правила, четко регламентирующие проектирование банков данных, отсутствуют. Несмотря на это в большинстве случаев информация, в какой бы форме она ни содержалась, сохраняет свою ценность, например, когда речь идет о статистических данных. Следовательно, нужно уметь использовать сведения независимо от того, в СУБД какого типа они хранятся.
В решении этой проблемы на сегодняшний день наметились два основных направления:
• применение конвертеров, которые преобразуют данные из одного формата в другой. Наборы таких конвертеров, хотя и не всегда достаточно полные, есть практически во всех СУБД, и пока это основной путь решения проблемы;
• использование технологии ODBC (Open Database Connectivity). Это открытый интерфейс доступа к базам данных из прикладных программ. Он позволяет работать с документами «чужих» для конкретной БД форматов.
В настоящей главе рассматривается первый способ решения проблемы. Речь пойдет о конвертировании в Access 2002 двух баз данных, созданных в различных СУБД, в различных организациях, в разное время и разными авторами. (Отметим, что по понятным причинам при разработке этих БД никакой предпроектной структуризации данных не производилось.) Первая – база данных по чрезвычайным экологическим ситуациям (БД ЧЭС) [7] – была создана в программной среде Clarion 3.0 (MS DOS) в Государственном институте прикладной экологии (ГИПЭ). Вторая – Контроль ЧС – в программной среде FoxPro 2.5 (Windows 95/98) в Главном управлении Федерального агентства правительственной связи и информации (ГУИС ФАПСИ). Обе базы данных содержат информацию о чрезвычайных ситуациях, происходивших на территории России. Таким образом, эти две БД дополняют друг друга. Мы объединим их с новой базой данных – Контрольно-измерительные приборы, процесс создания которой в среде Access 2002 был подробно описан в предыдущих главах. Полученную таким путем объединенную БД следует рассматривать как часть будущей, более широкой базы данных. Вообще говоря, совсем не обязательно стремиться к тому, чтобы все файлы содержались в одной БД – как и в жизни, гигантомания должна иметь свои пределы. Но это уже иная проблема, которая не имеет отношения к проблеме конвертирования БД и не влияет на ее процесс.
Как показывает опыт, при конвертировании баз данных могут возникнуть еще две трудности:
• несовпадение кодов словарей;
• различие между форматами полей даты и времени в разных БД.
Первая проблема носит чисто технический характер. Она вызвана тем, что в разных БД могут использоваться различные словари для одних и тех же понятий или объектов. Это, как правило,
Вторая трудность связана с тем, что в СУБД разных семейств установлены различные временные точки отсчета и разные форматы даты и времени, поэтому вам придется дополнительно форматировать соответствующие поля. Более подробно такие ситуации рассматриваются ниже.
Процесс конвертирования баз данных
Итак, перед началом конвертирования мы имеем:
• базу данных Контрольно-измерительные приборы, созданную в программной среде Access 2002;
• базу данных БД ЧЭС, сформированную в среде Clarion 3.0;
• базу данных Контроль ЧС, разработанную в программной среде FoxPro 2.5.
Наша цель – объединить все эти базы данных в одну, расположенную в программной среде Access 2002. Вся дальнейшая обработка информации будет происходить в этой новой БД. Чтобы решить поставленную задачу, мы будем импортировать базы данных в Access 2002, одновременно преобразуя их из исходных форматов в новый.
Существуют ли какие-либо альтернативы такому решению? Да, теоретически их две:
• если структуры файлов двух или нескольких баз данных совпадают, можно свободно переносить информацию из одной БД в другую. Однако, как уже говорилось, такая ситуация крайне маловероятна;
• можно не импортировать нужные файлы в БД, а связать их с таблицей Access. Отметим, что файлы являются источниками информации, а в таблице Access содержатся только ссылки на соответствующие сведения. Тогда база данных Access останется в своем первоначальном виде, а все изменения будут происходить в связанных файлах. Однако в таком случае усложняется ведение комплексной БД: если файл данных был перемещен, то вы не сможете просматривать и редактировать его, пока не обновите информацию о местоположении этого файла.
Технология импорта для каждой из двух конвертируемых баз данных несколько различается.
Импорт БД ЧЭС по необходимости состоит из двух этапов. Clarion 3.0 – довольно старая программная система, поэтому она содержит очень небогатый набор конвертеров. Из них практическую ценность имеет лишь конвертер данных из формата DAT в формат программы dBase3 – DBF. Именно этим инструментом мы и воспользуемся. Следующим шагом будет импорт файлов с их одновременным конвертированием из базы данных формата dBase3 в БД Контрольно-измерительные приборы в формате Access 2002 – MDB. Конечно, указанное имя этой базы данных уже не будет соответствовать ее содержанию, и его придется изменить.
Двухэтапным будет также и перевод базы данных Контроль ЧС из формата в формат, но по другим причинам. Дело в том, что при всей мощности и гибкости Access 2002 из этой версии (по сравнению с Access 97) исчез конвертер форматов данных FoxPro. В результате, даже несмотря на родственный формат (.DBF), с которым работают СУБД семейства dBase, при попытке прямого импорта файлов из FoxPro в Access 2002 с помощью конвертеров возникают трудности с преобразованием текстовых файлов: во-первых, не конвертируются файлы типа Memo, во-вторых, текстовые строки преобразуются с искажениями, так что понять эти тексты нельзя. Поэтому порядок работы будет таким: первый шаг – переносим данные из FoxPro в Access 97, второй – из Access 97 в Access 2002.