Лабораторная работа № 5.Связь шейповVisio с данными в Excel.




Допустим, возникла задача отображать некоторые данные из Excel в шейпах на рисунке Visio. Будем выводить один из столбцов данных в качестве текста шейпов.

Подготовка таблицы в Excel

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

Рисунок 51

Чтобы превратить ее в именованный диапазон достаточно вписать в поле, помеченное стрелкой какое-нибудь название. Пусть наша табличка называется tab1. Сохраним этот файл.

Подключение к базе данных

Открываем Visio, создаем пустой рисунок.

Рисуем квадратик. Это шейп, который мы будем связывать с базой.

Вызываем Add-On из группы VisioExtras под названием DatabaseSetting.

Рисунок 52

Выбираем в поле Default ODBC DataSource значение ExcelFiles. В зависимости от настроек и установок на конкретной машине название источника может слегка отличаться. Например, источник может называться "Файлы Excel". Это не обязательная операция. Она нужна только для того, чтобы потом меньше путаться с разными диалоговыми окнами.

Теперь селектируем нарисованный квадратик и вызываем Add-On из группы VisioExtras под названием LinktoDatabase.

Рисунок 53

Открывается форма выбора файла Excel. Разыскиваем в ней ранее созданный файл и жмем OK. Появляется самая нужная форма.

В поле Name выбираем тип источника ExcelFiles (хотя он там должен появиться по умолчанию). В поле Table/view должна появиться созданная в Excel таблица. В файле Excel может быть несколько именованных диапазонов. Тогда и таблиц будет несколько, можно будет выбрать из них нужную.

В поле Fieldlinks появится список полей таблицы и их типы. Выбираем в качестве связного первое поле (a) и жмем OK.

 

Рисунок 54

Основная операция проведена. Add-On добавил к нашему шейпу несколько строк CustomProperties, добавил также в секцию User информацию о связи с базой. В шейпе появилось также встроенное меню с четырьмя основными командами работы с данными. Если в предыдущем окошке нажать на кнопку Advanced, то можно было бы сократить список этих команд, сняв ненужные галочки в столбце ShapeActions.

Рисунок 55

Осталось связать шейп с конкретной строкой данных и вывести значение в виде текста.

Выбираем в контекстном меню шейпаSelectDatabaseRecord, щелкаем по тому же файлу в окне выбора файла и получаем окошко SelectDatabaseRecord. В нем показано ключевое поле нашей таблицы и список возможных значений (выше мы заполнили четыре строки). Щелкаем по одному из значений, связывая тем самым данный шейп с данной строкой таблицы.

Отображение данных

Шейп со строкой данных мы связали. Теперь налаживаем отображение.

На селектированномшейпе выполняем InsertField. Выбираем CustomProperties и столбец b. Значение столбца b появляется в виде текста шейпа.

Для полноты картины копируем полученный шейп еще в двух экземплярах. Все его свойства переносятся и в копии. Для каждой копии выполняем операцию SelectDatabaseRecord и связываем их с другими значениями ключа (другими строками таблицы).

Проверка связи

Проверяем отслеживание изменений. Открываем лист Excel и изменяем какое-либо из отображаемых значений. На шейпе, связанном с этой строкой, выбираем в контекстном меню RefreshShapeProperties. Наблюдаем, как меняется текст шейпа - значение заменяется тем, которое ввели в таблицу.

Можно отправить данные и в обратную сторону. Изменим значение CustomProperties в одном из шейпов (при этом текст шейпа изменится сразу) и выберем в контекстном меню UpdateDabaseRecord. Видим, что в Excel значение тоже изменилось.

Поставленная задача выполнена.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: