В любом поле запроса, одним из источников данных которого является итоговый или перекрестный запрос.
В полях с типом данных “ Счетчик ”.
В полях, обозначенных как первичный ключ, если не установлен режим каскадного обновления связанных полей.
В любом поле запроса, которое выдает только уникальное значение.
В любом поле запроса, в котором используется операция языка SQL “UNION”, создающая результирующую таблицу по выбранным строкам.
2.2.12 Модификация данных с помощью запросов на изменение
Виды запросов на изменение.
Второй тип запросов - это запросы на изменение, с помощью которых можно трансформировать информацию в таблицах.
Существуют следующие виды запросов:
Запрос на обновление.
После запроса на выборку он преобразуется в запрос на обновление, с помощью которого можно вводить новые значения в отобранные записи, после чего соответствующие изменения будут произведены в базовых таблицах.
Запрос на создание таблицы.
После запроса на выборку он трансформируется в запрос на создание таблицы, который позволяет на основе отобранных записей создать новую таблицу.
Запрос на добавление
С помощью данного запроса можно копировать выбранные записи и вставлять их в другие таблицы.
Запрос на удаление.
Позволяет удалить выбранные записи из базовой таблицы.
Ошибки при выполнении запросов на изменение.
Во время выполнения запроса на изменение Microsoft Access различает следующие ошибки:
Дубликаты первичных ключей.
Такая ошибка возникает при попытке добавления или изменения некоторой записи в таблице, приводящей к появлению дублирующего значения первичного ключа.
Ошибки преобразования данных.
Ошибки этой категории возникают в тех случаях, когда вставляются данные в соответствующую таблицу и при этом оказывается, что типы данных полей - получателей и полей - источников не совпадают, т.е. не могут быть преобразованы друг к другу.
Заблокированные записи.
Данные ошибки возникают, когда при выполнении запроса на удаление или обновление, используется таблица, к которой имеют доступ другие пользователи сети.
Нарушение условий на значение.
Если вставляемые или обновляемые записи не удовлетворяют условию на значение для некоторого поля или таблицы в целом, Microsoft Access сообщает об этой ошибке и исключает записи, которые не удовлетворяют условию на значение при вставке или обновлении.
Помимо этого может возникнуть проблема (не являющаяся ошибкой), которая заключается в том, что в некоторых случаях Microsoft Access бывает вынужден произвести усечение данных, добавляемые в текстовые или МЕМО поля. В этих случаях Microsoft Access не предупреждает об усечении данных, а просто его производит.
2.2.13 Импорт, экспорт и связывание данных
Microsoft Access можно использовать как замкнутую систему. Однако одним из основных преимуществ данного программного продукта является возможность работы с самыми разнообразными данными других баз данных, электронных таблиц или текстовых файлов.
Стандарт ODBC.
Microsoft Access для чтения, вставки, удаления и обновления данных использует язык SQL. Теоретически любой програмный продукт, который понимает SQL, должен понимать любую программу, работающую с этим языком. Хотя для SQL существуют определенные стандарты в реальной жизни большинство фирм, разрабатывающие программные продукты, используют для поддержки специальных функций различные диалекты и расширения этого языка.
Также некоторое программное обеспечение, выпущенное до принятия стандартов, получило широкое распространение на рынке и отказаться от этих программных продуктов было бы сложно.
В связи с этими проблемами в992 году был создан стандартный интерфейс языка CLI, позволяющий обеспечить взаимосвязь различных программных продуктов, написанных на диалектах языка SQL. Фирма Microsoft упростила интерфейс CLI, создав свой стандарт, который получил название ODBC - что означает открытый доступ к данным.
Архитектура данного стандарта может быть представлена в виде, показанном на рис.10.
Microsoft Accessявляется первым программным продуктом, использующим стандарт ODBC. Во время установки Microsoft Access также устанавливается и стандарт ODBC, с помощью которого после установки соответствующих драйверов Microsoft Access может работать с любыми базами данных, написанными на SQL.
Архитектура стандарта ODBC
Сравнение импорта и связывания.
В связи с тем, что существует выбор между импортом и связыванием данных из других баз данных, необходимо принимать решение какой тип доступа лучше использовать в той или иной ситуации.
Импорт - это внесение данных непосредственно в базу данных Microsoft Access.
Связывание - это возможность работы с данными, находящимися в другой базе данных, без непосредственного внесения в базу данных Microsoft Access.
Следует отдать предпочтение импорту в следующих случаях:
необходимый файл сравнительно невелик и пользователи исходной базы данных редко меняют его содержимое.
Данные исходного файла не используются совместно с пользователями других приложений.
Когда заменяется старое приложение на новое и прежний формат данных больше использоваться не будет.
Необходимо обеспечить максимальную эффективность работы приложения.
Связывание используется в следующих случаях:
Файл превышает максимально возможный размер базы данных Microsoft Access.
Данные будут использоваться в режиме коллективного доступа.
Данные часто меняются пользователями исходной базы данных.
4) Созданное приложение будет распространяться среди различных пользователей и предусматривает возможные модификации его интерфейса (запросы, модули, формы, отчеты и макросы).
Импорт и экспорт данных.
Импортировать данные в Microsoft Access можно из следующих источников:
База данных dBase.
База данных Paradox.
База данных FoxPro.
База данных SQL.
Электронные таблицы, созданные в Excel от второй версии и выше, а также в Lotus.
Можно импортировать текстовые файлы, но для данного импорта нужно подготовить текст определенным образом.
Можно импортировать любой объект из любой базы данных Microsoft Access.
При импорте данных из электронных таблиц и текстовых файлов возможны ошибки, связанные с дублированием первичных ключей, нарушением типов данных, нарушением структуры полей, поэтому после этих случаев импорта необходимо проверить правильность занесенных данных.
Экспорт данных может быть осуществлен теми же семью объектами, что и импорт и существующей восьмой возможностью:
Любую таблицу, форму или отчет можно экспортировать в документ HTML (документ с разметкой гипертекста), который предназначается для просмотра в Internet.
Связывание данных.
Можно установить связь с таблицами из других баз данных и работать с ними так, как будто они определены в текущей базе данных.
Можно связывать данные с тем же списком объектов, с которым осуществляется импорт, т.е.:
1) Базы данных dBase.
2) Базы данных Paradox.
3) Базы данных FoxPro.
4) Базы данных SQL.
5) Электронные таблицы, созданные в Excel от второй версии и выше, а также в Lotus.
6) Текстовые файлы.
7) Таблицы базы данных Microsoft Access.
При связывании данных сами таблицы остаются в той базе данных, из которой они берутся, в том формате, в котором они были созданы. При связывании данных возможны проблемы с чтением, вставкой, изменением и удалением новых данных. Кроме того, следует отметить, что при связывании таблиц Microsoft Access уменьшает свою производительность, даже если исходная таблица находится на том же компьютере.
2.2.14 Язык SQL
Любой запрос в Microsoft Access реализуется с помощью языка SQL. Большинство запросов можно построить возможностями режима конструктора, но и в этом случае запрос будет храниться в форме инструкции языка SQL.
Первая версия языка SQL появилась в0 - х годах XX века. В982 году был создан первый стандарт реляционных баз данных RDL. Первая версия стандарта SQL появилась в986 году и включила в себя большинство возможностей различных диалектов языка SQL, наработанных на данный момент.
В989 году появилась вторая версия языка SQL, которая явилась подмножеством практически всех реализаций SQL и обобщением всех его известных версий.
На сегодняшний день существует третья версия языка, называемая SQL III, которая разработана с учетом не только имеющихся на сегодняшний день возможностей, но и функций, которые могут быть использованы в будущем.
Язык SQL является языком высокого уровня и состоит из ряда инструкций. Ядром языка SQL является функция SELECT, которая выполняет реляционные операции выбора и объединения для создания логической таблицы (набора записей) на базе других таблиц или запросов. Используя данную инструкцию в совокупности с рядом функций можно создавать запросы любой степени сложности, которые невозможно построить в шаблоне для запросов.
Помимо данной инструкции существует еще целый ряд инструкций, позволяющих создавать конкретные виды запросов, например:
DELETE - инструкция для запроса на удаление
INSERT - для запроса на добавление
SELECT…INTO - для запроса на создание таблицы
UPDATE - для запроса на обновление
Язык SQL является мощным средством для создания запросов в БД, с помощью которого может осуществляться связь между различными видами БД.
2.3 Интерфейс пользователя в базах данных Microsoft Access
2.3.1 Использование форм
Основные сведения о формах
Применение форм.
Большинство форм создается на основе таблиц и запросов. Формы являются основным средством организации интерфейса пользователя в приложении Microsoft Access.
Формы создаются для следующих целей:
Вывод и редактирование данных.
Это наиболее распространенная сфера применения форм. Формы обеспечивают вывод на экран данных в выбранном представлении. Благодаря формам значительно упрощается внесение изменений, добавление и удаление данных.
Для управления ходом выполнения приложения.
Чтобы автоматизировать вывод определенных данных или выполнение некоторой последовательности действий можно создать формы для работы с макросами или процедурами VBA.
Для ввода данных.
Можно создавать формы, предназначенные только для ввода в базу данных новой информации или значений, помогающих автоматизировать работу приложения.
Для вывода сообщений.
Формы могут предоставить вспомогательную информацию о работе приложения или предстоящих действиях. Например, выдать информацию об ошибке.
Для печати информации.
Форму можно распечатать вместе со всей, находящейся в ней информацией.
Обзор форм.
Обычная информация, поступающая из базовой таблицы или запроса, размещается в области данных. Чтобы вывести на экран информацию или элемент управления, не зависящий от содержимого записи, можно добавить в форму заголовок и примечание. Таким образом, структура формы в общем виде представлена на рисунке1.
|
Заголовок |
|
|
Область данных |
|
|
Примечание |
Структура формы
Различают несколько видов форм:
Многостраничные формы.
Если необходимо вывести на экран записи, каждая из которых содержит большой объем информации, можно создать многостраничную форму, которая включает в себя заданное количество страниц, где каждой странице соответствует только одна запись.
Ленточные формы.
Этот тип форм удобен для просмотра списка записей с небольшим числом полей данных. В отличие от многостраничной формы, отображающей только одну запись на странице, в ленточной форме отформатированные записи выводятся на экран одна за другой, как в таблице.
Подчиненные формы.
Данные формы используются для представления данных, находящихся на разных сторонах отношения один - ко - многим. Пример такой формы дан на рисунке2.
Всплывающие формы.
Иногда информацию удобнее представлять в окне, постоянно находящемся на переднем плане. В Windows активное окно оказывается на переднем плане по умолчанию, а остальные окна перемещаются на задний план. Окно, которое встает на переднем плане даже в тот момент, когда активизировано другое окно, называется всплывающим. Microsoft Access позволяет создавать формы во всплывающих окнах.
Модальные формы.
При разработке приложения возникают ситуации, когда приложению требуется получить некоторые данные от пользователя или передать ему важную информацию прежде, чем продолжить свою работу. Таким образом, модальная форма - это такой тип форм, который требует от пользователя ответа, как непременного условия дальнейшей работы приложения.
Элементы управления форм. Информация в форме содержится в элементах управления. Наиболее часто используемый элемент управления - «Поле». В нем могут отображаться данные из базовых таблиц или запросов, а также вычисляемые непосредственно в форме значения.