Создание баз данных Access: Учебное пособие, страница 14

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

   Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы поле­зен для выполнения следующих действий:

  -  создание таблицы для экспорта в другую базу данных Microsoft Access. Например, требуется создать таблицу, содержащую несколько полей из таблицы СОТРУДНИКИ, а затем экспортировать эту таблицу в базу данных, используемую отделом кадров;

  - создание архивной таблицы, сохраняющей все устаревшие записи, прежде чем они будут удалены из текущей таблицы;

  -  повышение быстродействия форм и отчетов, базирующихся на многотаб­личных запросах.

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

   Для формирования запроса на создание таблицы надо сначала построить за­прос на выборку, затем преобразовать его в запрос на создание, выбрав команду меню Запрос / Созданиетаблицы. В открывшемся окне Создание таблицы следу­ет ввести имя итоговой таблицы. Запрос выполняется командой меню Запрос / За­пуск или после нажатия кнопки Запуск панели инструментов. Access запрашивает подтверждение на выполнение запроса. В новой таблице нужно определить пер­вичный ключ и вновь создать поля подстановки.

   Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. Предположим, например, что записи о новых поступлениях книг заносятся в отдельную таблицу. Периодически содер­жимое этой таблицы должно заноситься в основную таблицу КНИГИ. Эту опера­цию удобно выполнять с помощью запроса на добавление.

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

   Запрос на добавление, как и другие запросы на изменение, можно получить преобразованием запроса на выборку с помощью команды меню Запрос / Добав­ление. Access запрашивает подтверждение на выполнение запроса.

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

   Во время выполнения запросов на изменение Access определяет четыре ка­тегории ошибок:

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

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

  - заблокированные записи. Эти ошибки возникают при попытке выполнения запроса на изменение к записям таблицы, с которой работают другие пользователи сети. В этом случае можно попытаться повторить выполнение запроса через неко­торое время;

  - нарушение условий на значение. Если вставляемые или обновляемые запи­си не удовлетворяют условию на значение поля, Access сообщит об ошибке и ис­ключит эти записи при выполнении запроса.

   Запрос на удаление удаляет группу записей из одной или нескольких таб­лиц. С помощью запроса на удаление можно удалять только всю запись, а не от­дельные поля внутри нее.

   Для удаления записей их сначала нужно отобрать с помощью запроса на вы­борку. В запрос можно включить параметр для установления условий отбора уда­ляемых записей. Затем запрос на выборку следует преобразовать в запрос на уда­ление с помощью команды меню Запрос / Удалением выполнить команду Запрос / Запуск. Access запрашивает подтверждение на удаление. После выполнения опе­рации удаления восстановить записи нельзя.

Создание форм

Проектирование форм

   Формы являются наиболее важными объектами в приложениях МА, так как именно через них осуществляется взаимодействие пользователя с БД. При созда­нии приложения разрабатываются макеты форм, с помощью которых решаются задачи приложения. В процессе разработки макета для каждой из задач определя­ется, какая информация и в каком виде должна присутствовать на экране, какие манипуляции с БД будет выполнять пользователь с помощью данной формы.

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

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

  В сложной форме выделяют главную форму и вложенные в нее подчинен­ные формы или подформы. Использование подформ позволяет видеть и изменять связанные записи из различных таблиц внутри одной и той же формы.

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