Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОТИ - копия.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
8.91 Mб
Скачать

Занятие №18

Лабораторная работа №5 «Создание запросов в проекте Access».

Цель: научиться создавать схемы баз данных в проекте, разрабатывать в проекте запросы любого типа; создавать любые объекты приложения на основе таблиц и запросов базы данных SQL Server.

Упражнение 1 Создание схем баз данных

Упражнение 2 Создание представлений

Упражнение 3 Создание сохраненной процедуры с параметрами

Контрольные вопросы:

  1. Возможно ли определение связей таблицы в Схеме данных, если она не имеет ключа?

  2. Обеспечивается ли проверка целостности данных в связанных таблицах сервера?

  3. Где можно увидеть ограничения, наложенные на поля таблицы, ее связи с другими таблицами, индексы?

  4. Возможно ли импортировать запросы из БД Access в БД SQL Server?

  5. Какие типы объединения записей таблиц можно установить в схеме данных представления?

  6. Только ли для подписи используется имя поля, введенное столбец Alias в конструкторе представления?

  7. Отображается ли в конструкторе представлений соответствующая инструкция SQL?

Занятие №19 Разработка форм и отчётов в проекте Access.

Разработка форм проекта Access

Наиболее значительные отличия между настольными базами данных Access (файлы с расширением .mdb) и проектами Access (файлы с расширением .adp) касаются таблиц и запросов (представления, функции и хранимые процедуры). Поскольку проекты Access хранят свои таблицы и запросы на сервере SQL Server, эти таблицы и запросы содержат множество новых структурных элементов, которые необходимо хорошо знать для эффективной работы с ними. Однако построение форм почти не отличается от построения форм для настольной базы данных.

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

Отличия форм в проекте Access

При первом открытии формы в файле проекта вы не сразу заметите отличия.

На панели навигации, расположенной в нижней части формы, можно увидеть две новые кнопки. Первая из них (буква X в овале) - это кнопка Отменить запрос (Сancel Query). Правее находится кнопка Максимальное число записей (Maximum Record Limit); на ней изображен восклицательный знак.

При первом открытии пользователем формы в проекте Access начинает извлечение записей, которые будут выводиться в форме, и сразу показывает первую запись. Если набор записей формы очень велик, Access продолжает извлечение записей в ходе работы пользователя с формой. Кнопка Отменить запрос (Cancel Query) доступна в ходе всего процесса извлечения записей. Если же пользователю необходимы только первые записи, он может щелкнуть на этой кнопке, что позволит сэкономить ресурсы сервера. Такая возможность удобна в том случае, когда пользователю требуются лишь часть записей, а загрузка всех записей занимает слишком много времени. Если в дальнейшем возникнет необходимость просмотра всех записей, то повторно процесс загрузки можно запустить командой Записи - Обновить (Records - Refresh). В ходе этого процесса снова можно щёлкнуть на кнопке Отменить запрос (Cancel Query).

Рис. 19.1 Форма в файле проекта

Access извлекает все записи, связанные с формой в проекте, в виде «снимка» (статического• набора) - буквально копирует данные с сервера. Такой подход не сильно нагружает сервер и сетевое соединение, поскольку Access использует локальную копию данных при выводе в форму, а не извлекает данные каждый раз с сервера при переходе пользователем к другой записи. Когда приложение Access имеет достаточно информации о структуре и связях таблиц, оно позволяет пользователю изменять данные в форме. При изменении данных и их сохранении Access посылает серверу специальную команду Update, выполняющую синхронизацию данных в форме и на сервере. Access не копирует весь набор записей и даже всю запись обратно на сервер.

Для повышения общей производительности проекта можно настроить его свойства таким образом, чтобы он ограничивал число записей, извлекаемых для всех форм проекта. Также можно установить лимит для каждой формы. При установке ограничения для одной из форм данное ограничение перекрывается любым ограничением проекта, но только в отношении источника записей этой формы. Если количество записей на сервере SQL Server превышает указанный предел, то будет возвращено только указанное число записей. В данное число попадают записи, удовлетворяющие порядку сортировки (инструкция ORDER BY в SQL-выражении). Если для набора записей не определен порядок сортировки, предпочтение будет отдано порядку строк в первичной таблице. Если предел установлен очень низким, пользователь может щелкнуть на кнопке Максимальное число записей (Maximum Record Limit) и Access выведет диалогвоое окно, представленое на рис. 19.2.

Рис. 19.2 Изменение максимального количества записей для текущей формы

Чтобы получить новые записи после изменения значения и щелчка на кнопке OK, пользователь должен выполнить команду Записи – Обновить (Records – Refresh). Если же пользователь изменит максимальное количество записей, а потом закроет форму, Access уточнит, надо ли сохранять изменения в структуре формы. Наилучший вариант – скрыть эту кнопку от пользователей.