Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование учебной БД.doc
Скачиваний:
26
Добавлен:
15.03.2015
Размер:
2.57 Mб
Скачать

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

Теперь нужно закрыть запрос и согласиться на сохранение изменений в появившемся окне.

Далее в форму нужно перенести поля формируемые запросом. Для этого в панели инструментов конструктора нужно нажать кнопку «Добавить поля» и из появившегося списка полей в раздел формы «Область данных» перетащить требуемые в запросе поля. В результате форма в режиме конструктора примет следующий вид.

В заголовок формы добавлены надписи столбцов, кроме того из запроса перенесены данные об организации, номере заказа и количестве товара. Остальные поля в форму не включены так как код товара пользователю не нужен, а наименование иже есть в поле со списком. Запустив просмотр формы можно обнаружить следующие неприятности. При выборе в поле со списком товара данные запроса в форме не появляются. Кроме того, поскольку форма ленточная, последняя строка открыта для ввода данных, что вызывает попытки у неопытных пользователей добавить строки в результаты запроса. Первый из недостатков устраняется путем добавления в событие «После обновления» поля со списком (ПолеСоСписком0) кода вызывающего обновления данных:

DoCmd.Requery

Вместе с заголовком процедуры обработки события фрагмент кода дожжен выглядеть так:

Private Sub ПолеСоСписком0_AfterUpdate()

DoCmd.Requery

End Sub

Второй недостаток ликвидируется установкой свойства «Разрешить добавления» в закладке «Данные» свойств формы в состояние «Нет».

Итоговый вид получившейся формы выглядит так.

Использование объектов в приложениях

Под объектами в данной работе будем понимать текстовые документы, таблицы Excel, презентации, изображения и так далее, хранимые в виде отдельного поля базы данных. Для хранения объектов СУБД Access предоставляет поле с типом «Поле объекта OLE». Предположим при оформлении заказов необходимо в заказ добавить возможность комментария, который может иметь вид любого из перечисленных объектов. Для этого в структуру таблицы «Заказ» добавим поле с именем Расчет как показано на рисунке. И сохраним определение таблицы.

Затем в режиме «Конструктор» откроем форму «Заказ» и в примечание формы добавим поле Расчет. Форма должна принять следующий вид.

В режиме просмотра форма выглядит так.

Как видно для каждого заказа для объекта создается пустая рамка. В эту рамку можно добавить любой из перечисленных объектов. Предположим для данного заказа необходимо добавить проверку расчета аналогично таблице Excel. Для этого на рамке объекта нужно щелкнуть правой клавишей мыши. После чего в появившемся окне следует выбрать позицию «Вставить объект». В появившемся всплывающем окне надо выбрать тип объекта, как показано на рисунке.

После выбора типа объекта можно заполнить его требуемой информацией. Для рассматриваемого примера это будет выглядеть так.

Если объект уже существует можно изменить его или заменить другим.

Использование базы данных в сети

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

В закладке «Работа с базами данных» панели инструментов нажмем кнопку «База данных Access». Появится всплывающее окно:

Нажатие кнопки «Разделить» приведёт к появлению всплывающего окна, в котором нужно выбрать папку и имя файла с базой данных. Окно должно иметь примерно следующий вид.

После нажатия кнопки «Разделение» появится сообщение:

А в выбранной папке появится файл: БДЗаказы.mdb. Если открыть этот файл, то вы увидите список таблиц базы примерно такого вида.

В Access 2003 это будет выглядеть по другому, но смысл тот же. А в файле приложения появятся ссылки на эти таблицы, которые в Access 2007 выглядят так.

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

Здесь Пр1, Пр2, Пр3 – приложения, установленные на разных компьютерах. Когда были разделены приложение и база данных, то в приложении были установлены ссылки на вновь созданный файл. По сути дела эти ссылки представляют собой путь к файлу с базой данных. При установке приложений на различные компьютеры локальной сети иногда нужно настроить пути к базе данных. Для этого используется кнопка «Диспетчер связанных таблиц» в закладке «Работа с базами данных». При её нажатии появляется окно

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