All Forums
 Категория Visio
 Форум Вопросы и ответы
 Программное создание модели БД
Author Previous Topic Topic Next Topic  

Shaman

Rwanda
7 Posts

Posted - 08/23/2004 :  15:23:52
может кто знает как программно создать модель БД, добавить туда таблицы, столюцы, связи и изменять их параметры (notes например)

Edited by - Shaman on 08/23/2004 15:24:31

immortal

Russia
391 Posts

Posted - 08/24/2004 :  09:32:51  Visit immortal's Homepage
можно поконкретнее:
quote:
как программно

на vb или vba, как должно запускаться?
quote:
создать модель БД

существующей базы данных?
quote:
добавить туда таблицы, столюцы, связи и изменять их параметры

менять в сушествующей БД с отображением в модели или наоборот, или и то и другое?

вроде есть стандартные средства работы с базами данных

визио 2003 форэвер
Go to Top of Page

Shaman

Rwanda
7 Posts

Posted - 08/25/2004 :  08:08:30
quote:
на vb или vba, как должно запускаться?

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

quote:

существующей базы данных?

менять в сушествующей БД с отображением в модели или наоборот, или и то и другое?

вроде есть стандартные средства работы с базами данных

вкратце что хочу сделать:
есть word-файл (с заданой стрктурой) в котором описана база данных какие есть в базе таблицы какие столбцы у таблиц связи и т.д. ко всем объектам есть комментарии. так вот лениво брать эти word-файлы и на основе их руками создавать модель в visio (реализации БД которой описывает word-файл нет, ее надо будет создать). так вот по данному файлу хочу построить модель базы в visio, потом уже использовать встроенные возможности visio, создавать базы данных. И генерировать отчеты о структуре базы в произвольном виде.

я уже могу создавать таблицы и столбцы в них

....
       Static vme As New MODELENGLib.VisioModelingEngine
       
       Dim models As MODELENGLib.IEnumIVMEModels
       Dim model As MODELENGLib.IVMEERModel
       Dim entity As MODELENGLib.IVMEEntity
       Dim attr As MODELENGLib.IVMEAttribute
....
       Set entity = model.CreateEntity
       entity.PhysicalName = "таблица первая"
                    
       For i = 1 to 10
          Set attr = entity.CreateAttribute
          attr.PhysicalName = "столбец " + i
       Next
.....


все это используя modeleng.dll так как через объектную модель пока не понял как это сделать.
все бы хорошо но и используя эту dll не могу найти способа установить описания таблиц и столбцов создать первичный ключ и т.д.
а так же хорошо бы было после построения модели разабрать ее по полочкам. но построение и разбор это похожие задачи так, что решив одну думаю можно справится и со второй.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 08/25/2004 :  09:56:15  Visit immortal's Homepage
пришлите мне на почту файл ворда который надо брать за основу, и пример ии описание что должно получиться, попробую сделать, а потом раскажу

визио 2003 форэвер
Go to Top of Page

GrayT

4 Posts

Posted - 11/03/2004 :  08:53:44
Что нибудь получилось? Up короче.
Затеялся с такой же проблемой, с какой стороны подступиться пока не знаю
Go to Top of Page

Shaman

Rwanda
7 Posts

Posted - 11/03/2004 :  13:13:07
Программно создавать notes устанавливать типы столбцов не получилось. Все остальное и исполльзованием MODELENG.DLL это "Microsoft Visio Database Modeling Engine Type Library"

immortal похоже тоже ничего не придумал. :(
Go to Top of Page

immortal

Russia
391 Posts

Posted - 11/04/2004 :  05:59:48  Visit immortal's Homepage
значит так!
первая задача была, насколько я помню, это конвертация данных из ворда в визио, из ворда конвертировать данные не удобно, поэтому пишем сначала следующее: открываем документ, выделяе все, и копируем, запускаем ексель, вставляем туда, разгруппировываем все, далее удаляем пустые строки так чтобы не было между заполненными строками пустых, потом удаляем пустые ячейки, затем берем все данные из екселя, открываем визио и делаем заполнение данных взятых ранее в нужные поля, я не работаю с существующими шаблонами которые вы используете, а предлагаюсоздать новый, свой с нужными значениями(свойствами) и его заполнять, связи делать тоже с пом. его, связи можно сделать аналогично как сделано у меня в procent по чьей-то просьбе (к сожелению так и не отозвавшегося так или нет), ну и создание базы данных тоже возможно, я предпочитаю сейчас работать с простой базой данных, с одной таблицей(так проще), по созданию и заполнению БД можно прочитать на сайтах по VB, считаю что это не в рамках этого форума и сайта, будет время все это сделаю, пока дошел только до конвертации.

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Shaman

Rwanda
7 Posts

Posted - 11/04/2004 :  07:01:13
Добрый день всем!

immortal спасибо Вам большое, что обратили внимание на проблему.
Но не совсем все так как Вы пишите.

Проблем с Word я не испытываю, данные оттуда читаю. Да и сами файлы word это всего лишь один из типов источников данных для генерации схемы БД. Работать с базой я тоже вроде как умею

Остается одна проблема созать программными средствами (VBA или COM) модель БД в Visio. Вы предлагаете разработать свою модель данных. Можно конечно, но что тогда делать с совместимостью со стандартной моделью Database? И неочень хочется тратить время на разработку своей модели (даже если это много времени не займет) если уже есть готовая, надо только найти рычаги за которые подергать, что бы все получилось. Может быть в следующей версии Visio MS откроет больше свойств и методов.

А вообще то знаю я один способ по созданию модели данных но он мне не очень нравится: на основании имеющихся данных (word там или excel или еще что нибудь) создаем базу данных, а затем запускаем мастер Reverse Engineer и получаем модель.
Go to Top of Page

GrayT

4 Posts

Posted - 11/04/2004 :  07:43:38
Кстати, о каких БД идет речь? И почему Ворд, ехель. Не проще выгрузить нужную структуру в XML. ErWin, насколько я помню, импортит именно из ХМЛ. Жаль только что его модель не совсем меня устраивает.
Go to Top of Page

Shaman

Rwanda
7 Posts

Posted - 11/04/2004 :  08:45:08
откуда брать данные не имеет значения (word, excel, xml, database, .....).

главный вопрос КАК ПОСТРОИТЬ МОДЕЛЬ ПРОГРАММНО?

Какие БД? Пока MS SQL, Access, FoxPro

Go to Top of Page

immortal

Russia
391 Posts

Posted - 11/04/2004 :  09:40:26  Visit immortal's Homepage
догда выбирайте что дольше, разработать свою, или ждать
quote:
Может быть в следующей версии Visio MS откроет больше свойств и методов
а что там нету нужных вам свойств и методов или нету их описания, если второе, то свойства или методы можно посмотреть в view - object browser, и подобрать нужный, если первое, то рациональнее на мой взгляд сделать своё

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Shaman

Rwanda
7 Posts

Posted - 11/04/2004 :  10:03:49
quote:

догда выбирайте что дольше, разработать свою, или ждать


я подожду

нет нужных свойств и методов. или я их не нашел

Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)