Reverse linking data

Started by jebuxx, March 05, 2015, 03:45:00 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jebuxx

I have, understand and have linked an Excel spread sheet as a data source with all working as planned.
My question is can this work in reverse meaning can Excel or Access link data from the shape sheet?
I do know about the SDK tool and prining out the Shape Sheet and creating an Excell doc from it.
We have bulit a Visio doc that is a dynamic graphics template creator.
Page 1 is where the size, W & H and number of folds is entered.
Page 2 is the graphics template that resizes to those entries. (very cool!)
My goal is to have Excell reconize the height of the template via the Shape Sheet, lets say 11 inch that will letter fold in 3rds
to 3.666 inch. Excel would do the calculation (we know this is simple math however we have many templates that are much more complex) and than return the results to the Shape in Visio where I have it linked. (Page 3 that is a instruction page for that department.) I hope this is clear.
Thanx all!!!


Nikolay

Can't you just enter these parameters directly in Excel (W, H, number of folds)?
I.e. what is the point of entering them in Visio on the first page?

Yacine

@Nikolay,
I am surprised by your answer. I did on purpose not reply to Jebuxx' question, waiting for you to praise your synchronization tool.
There are so many reasons why one would like to enter the data in Visio instead of a DB.
Especially Jebuxx, is working on a kind of enveloppe tool, where the shape of the enveloppe matters.
For myself, I need to identify my shapes visually in the P&ID prior to defining their data.
On the other hand there are so much more other functions to manipulate data in DBs, that you won't want to do this in Visio.
So a parallel editing of data in both worlds is necessary.
My 2 bobs ;)
Cheers,
Yacine
Yacine

Nikolay

#3
Quote from: Yacine on March 06, 2015, 05:26:21 PM
@Nikolay,
I am surprised by your answer. I did on purpose not reply to Jebuxx' question, waiting for you to praise your synchronization tool.
There are so many reasons why one would like to enter the data in Visio instead of a DB.
Especially Jebuxx, is working on a kind of enveloppe tool, where the shape of the enveloppe matters.
For myself, I need to identify my shapes visually in the P&ID prior to defining their data.
On the other hand there are so much more other functions to manipulate data in DBs, that you won't want to do this in Visio.
So a parallel editing of data in both worlds is necessary.
My 2 bobs ;)
Cheers,
Yacine

It is just I might not see much sense in backward sync in this particular case if all you need are just width and height..
Why not set them in Excel?

Besides, there is a technical limitation:

If you for example bind an Excel book to 2 pages - like, page1 to sheet1, and page2 to sheet2, and you have width/height on page1, and all your data rows depending on width/height on page2.
Then you change data (width/height) on page1 and then run the sync.

Unfortunately, the sheet2 will not be recalculated. I.e. the page2 will pull the old data.
You'll need to run excel to do the recalculation somewhere in-between anyways, because the tool itself just writes/reads data using oledb (and, btw, should work even without excel installed)

Maybe it would make sense to add this call to the tool itself as an option
(in fact, all you need to do is to start excel, open the book, call Application.CalculateFull, and save the book)

it may be easier just to do stuff with VBA in this case, like start Excel and update the width/height in the first sheet1.

Jebuxx, btw, we are talking about this tool :)
http://unmanagedvisio.com/products/backsync-backward-visio-data-synchronization/

jebuxx

Hello, This is close to what I am trying to achieve. Please see the attached jpegs.
Unless I am missing something the Synchronize tool only refreshes the data graphics. I would like the shape to change in size.
The jpegs are numbered 1-2-3-4 (3 & 4 to follow on next post) of the sequence I used. My ultimate goal is to have Excel as an entry form database that
account managers will use. (We do not want them touching Viiso) Once their entries are made and sent to my department
we will use that Excel data to reverse synchronize and thus the templates will resize to those entries. This is only one
idea we have utilizing this reverse method. I would like to explain more but it would get very lengthy but as I proceed I will
continue to give updates as to the success and efforts.
I hope again I am making this all clearer than mud. sorry.
Thanx for all the feed back!!!


jebuxx


Nikolay

Hi, yes, the tool (as well as Visio) now synchronizes only the properties (i.e. "shape data").
You can't specify now arbitrary shape sheet cells to synchronized, like "PinX"/"PinY"/"Width"/"Height",
because they are not part of "shape data" (although it might be a good idea - why not).

Note that you can always develop your own shapes, which make PinX/PinY dependent from the shape data cells.

jebuxx

I believe I have it working as I had hoped. Still delving into more but see the attatched. (a screen shot of the spread sheet will be on the next post)
I have an Excel file linked to the Visio file. When width and height changes are made in the Excel file and saved.
(the file may remained open) and now refresh the data in Visio the size of the shape changes.
Had to tie the Shape Transform Width & Height to the Shape Data Prop. to make this work. I then removed the data graphics
as I do not want them visable in my drawing.

Let me know your thoughts.
Thanx again for the help.

jebuxx