Форум visio.getbb.ru |
О форумах
Библиотека | Частые вопросы | Литература | Склад материалов Полезные ссылки | О сайте История Visio | Продукты Visio |
Для русскоязычных пользователей Visio. Начинающих и профессионалов. Где взять, как сделать, что купить и т.д. |
Связь шейпов Visio с данными в ExcelВопрос связи Visio с базами данных очень обширен и его не рассмотришь в одной статье. Поэтому для начала (по просьбам из форума) разберемся с одним из узких частных случаев. Допустим, возникла задача отображать некоторые данные из Excel в шейпах на рисунке Visio. Пусть на машине установлены Excel 2000 и Visio 2003. Будем выводить один из столбцов данных в качестве текста шейпов. Подготовка таблицы в ExcelСвязь удобнее настраивать, когда данные в Excel оформлены в виде именованного диапазона. Выделим на листе Excel небольшую область, заполним ее данными, озаглавим столбцы. Получили такую маленькую табличку. Чтобы превратить ее в именованный диапазон достаточно вписать в поле, помеченное стрелкой какое-нибудь название. Пусть наша табличка называется tab1. Сохраним этот файл. Подключение к базе данныхОткрываем Visio, создаем пустой рисунок. Рисуем квадратик. Это шейп, который мы будем связывать с базой. Вызываем Add-On из группы Visio Extras под названием Database Setting. Выбираем в поле Default ODBC Data Source значение Excel Files. В зависимости от настроек и установок на конкретной машине название источника может слегка отличаться. Например, источник может называться "Файлы Excel". Это не обязательная операция. Она нужна только для того, чтобы потом меньше путаться с разными диалоговыми окнами. Теперь селектируем нарисованный квадратик и вызываем Add-On из группы Visio Extras под названием Link to Database. Открывается форма выбора файла Excel. Разыскиваем в ней ранее созданный файл и жмем OK. Появляется самая нужная форма. В поле Name выбираем тип источника Excel Files (хотя он там должен появиться по умолчанию). В поле Table/view должна появиться созданная в Excel таблица. В файле Excel может быть несколько именованных диапазонов. Тогда и таблиц будет несколько, можно будет выбрать из них нужную. В поле Field links появится список полей таблицы и их типы. Выбираем в качестве связного первое поле (a) и жмем OK. Основная операция проведена. Add-On добавил к нашему шейпу несколько строк Custom Properties, добавил также в секцию User информацию о связи с базой. В шейпе появилось также встроенное меню с четырьмя основными командами работы с данными. Если в предыдущем окошке нажать на кнопку Advanced, то можно было бы сократить список этих команд, сняв ненужные галочки в столбце Shape Actions. Осталось связать шейп с конкретной строкой данных и вывести значение в виде текста. Выбираем в контекстном меню шейпа Select Database Record, щелкаем по тому же файлу в окне выбора файла и получаем окошко Select Database Record. В нем показано ключевое поле нашей таблицы и список возможных значений (выше мы заполнили четыре строки). Щелкаем по одному из значений, связывая тем самым данный шейп с данной строкой таблицы. Отображение данныхШейп со строкой данных мы связали. Теперь налаживаем отображение. На селектированном шейпе выполняем Insert Field. Выбираем Custom Properties и столбец b. Значение столбца b появляется в виде текста шейпа. Для полноты картины копируем полученный шейп еще в двух экземплярах. Все его свойства переносятся и в копии. Для каждой копии выполняем операцию Select Database Record и связываем их с другими значениями ключа (другими строками таблицы). Проверка связиПроверяем отслеживание изменений. Открываем лист Excel и изменяем какое-либо из отображаемых значений. На шейпе, связанном с этой строкой, выбираем в контекстном меню Refresh Shape Properties. Наблюдаем, как меняется текст шейпа - значение заменяется тем, которое ввели в таблицу. Можно отправить данные и в обратную сторону. Изменим значение Custom Properties в одном из шейпов (при этом текст шейпа изменится сразу) и выберем в контекстном меню Update Dabase Record. Видим, что в Excel значение тоже изменилось. Поставленная задача выполнена. |