M
MitzyGoose
Hi! We're using Visio 2003 and are not allowed to upgrade to Visio 2007.
We have network diagrams with literally hundreds of shapes that we'd like to
link to a SQL database. I've been using the Database Wizard but found that
it had some issues that were also noted by other folks in other internet
postings.
1. You can link the shapes and everything will be fine. Then,
mysteriously, the database refresh will fail saying that the table doesn't
exist, when clearly it does. If you manually refresh each shape, it'll work,
but after the error occurs you can't refresh all the shapes on the document.
At one point, I was able to create a diagram that refreshed, but if you
deleted ONE particular object, it would fail. If you "undo" the delete, the
whole document refresh would start working again.
2. If you move the Access database to another location, the links will
break and all items will need to be relinked again!
3. If you add fields to the database table, the items which were linked to
that table/query will not display the new fields. You have to manually
relink all the objects to bring in the new fields.
For a diagram with hundreds of links, manually relinking is not an option.
Also, I noticed that Visio seems to "remember" the database associated with
the items, even if you change all of the ODBC Connection strings on every
linked shape.
I read that someone had these problems and coded his own VBA code to read
the database, then update the custom properties based on the fields in the
table/query. He said that he used the database wizard to build
user.odbcconnection. I'm guessing that he also used the select record
feature. But for refreshing, he clearly stated that he did his own database
queries and updated the custom properties.
I am having difficulty coding the database calls myself because Visio
doesn't seem to recognize ADODB objects. Is there an add-on that I need to
install so that Visio will allow me to open an ODBC datasource based on a DSN
and open the recordset myself so that I can put all fields into custom
properties and update the values myself?
We have network diagrams with literally hundreds of shapes that we'd like to
link to a SQL database. I've been using the Database Wizard but found that
it had some issues that were also noted by other folks in other internet
postings.
1. You can link the shapes and everything will be fine. Then,
mysteriously, the database refresh will fail saying that the table doesn't
exist, when clearly it does. If you manually refresh each shape, it'll work,
but after the error occurs you can't refresh all the shapes on the document.
At one point, I was able to create a diagram that refreshed, but if you
deleted ONE particular object, it would fail. If you "undo" the delete, the
whole document refresh would start working again.
2. If you move the Access database to another location, the links will
break and all items will need to be relinked again!
3. If you add fields to the database table, the items which were linked to
that table/query will not display the new fields. You have to manually
relink all the objects to bring in the new fields.
For a diagram with hundreds of links, manually relinking is not an option.
Also, I noticed that Visio seems to "remember" the database associated with
the items, even if you change all of the ODBC Connection strings on every
linked shape.
I read that someone had these problems and coded his own VBA code to read
the database, then update the custom properties based on the fields in the
table/query. He said that he used the database wizard to build
user.odbcconnection. I'm guessing that he also used the select record
feature. But for refreshing, he clearly stated that he did his own database
queries and updated the custom properties.
I am having difficulty coding the database calls myself because Visio
doesn't seem to recognize ADODB objects. Is there an add-on that I need to
install so that Visio will allow me to open an ODBC datasource based on a DSN
and open the recordset myself so that I can put all fields into custom
properties and update the values myself?