
- •Лекция Работа Access с данными на sql-сервере
- •Microsoft sql Server на локальном компьютере
- •Работа Access с sql Server через odbc
- •Определение внешних источников данных в odbc
- •Типы источников данных
- •Создание источника данных
- •Запросы на языке sql к базам данных sql Server
- •Создание запросов sql к серверу
- •Определение источника данных для запроса sql
- •Примеры запросов sql к серверу
- •Связь с таблицами баз данных sql Server
- •Создание связи с таблицами сервера
- •Примеры запросов со связанными таблицами
- •Импорт объектов из базы данных sql-сервера в Access
- •Экспорт объектов Access в базу данных sql-сервера
Примеры запросов со связанными таблицами
Приведем несколько примеров.
Запрос из выборку из локальных таблиц и связанных таблиц SQL-сервера. На рис. 8.24 и 8.25 показан запрос, использующий данные о покупателях и договорах, которые хранятся в общей базе данных на сервере в таблицах dbo_ПОКУПАТЕЛЬ и dbо_ДОГОВОР, а также данные о накладных склада, сохраняемых в локальной базе данных Access в таблице НАКЛАДНАЯ.
В результате выполнения запроса была подсчитана суммарная стоимость отгруженного товара по каждому из договоров покупателя. С помощью команды Итоги, расположенной на вкладке Главная (Ноте) в группе Записи (Records), получена общая стоимость отгруженного покупателю товара.
Добавление записей из локальной таблицы в связанную таблицу базы данных SQL-сервера. Пусть сведения об отгрузке товаров со склада хранятся в локальной базе данных склада в таблицах НАКЛАДНАЯ и ОТГРУЗКА. В общей базе данных на SQL-сервере также имеются таблицы НАКЛАДНАЯ и ОТГРУЗКА, в которых собираются сведения со всех складов.
Рис 8.24
Рис. 8.25. Результат выполнения запроса для покупателя "Компьютер маркет"
Для решения этой задачи установим из локальной базы данных связь с таблицами базы данных сервера. В результате установления связи таблицы сервера будут представлены в области переходов базы данных Access (см. рис. 8.20) под именами dbo_НАКЛАДНАЯ и dbo_ОТГРУЗКА. Для добавления записей из каждой локальной таблицы в соответствующую связанную таблицу базы данных SQL-сервера создадим отдельный запрос на добавление записей. Напомним, что запрос на добавление создается в режиме конструктора как запрос на выборку, который формирует необходимые для добавления записи. Далее запрос на выборку преобразуется в запрос на добавление (рис. 8.26) выполнением соответствующей команды на вкладке ленты Конструктор (Design) в группе Тип запроса (Query Туре). При этом в диалоговом окне (рис. 8.27) выбирается таблица, в которую нужно добавить записи. В запросе на добавление для создания записей использована локальная таблица склада НАКЛАДНАЯ, a в качестве обновляемой выбрана связанная таблица dbо_НАКЛАДНАЯ В результате выполнения запроса таблица на сервере будет дополнен; записями из локальной таблицы.
Рис. 8.26
Рис. 8.27.
Аналогичным запросом выполняется добавление записей в подчиненную таблицу dbo_ОТГРУЗКА из таблицы базы данных склада ОТГРУЗКА.
Импорт объектов из базы данных sql-сервера в Access
Запросы на языке SQL к серверу и работа со связанными таблицами сервера возможна только при установленной связи с сервером. При импорте объекты сервера копируются в базу данных Access и сохраняются в ней как собственные, Связь с сервером необходима только на время выполнения операции импорта. При использовании импортированных объектов связь с сервером не нужна.
Для импорта данных из базы данных сервера используется команда База данных ODBC (ODBC Database), размещенная на вкладке ленты Внешние данные (External Data) в группе Импорт (Import) в списке кнопки Дополнительно (More).
В окне Внешние данные - База данных ODBC (Get External Data- ODBC Database) (см. рис. 8.16) выбирается переключатель Импортировать данные источника в новую таблицу в текущей базе данных (Import the source data into a new table in the current database). Далее выбирается источник данных, определяющий сервер и базу данных, из которой должны импортироваться объекты, если необходимо, производится регистрация на сервере и в окне Импорт объектов (Import Objects) выбирается любое количество нужных объектов. После завершения процедуры полученные объекты отображаются в базе данных Access.