Hi Carl! Welcome to the forum.
There's a [url="http://mails.datawatch.com/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=1;t=000312;p=1#000002"]good example of keeping Monarch active[/url], so that the user can work with Monarch after the model loads.
I would have models prebuilt and ready for any combination of tables chosen by the user. The you use the model needed for that request.
Say they select the Stock Shares table. Because the Stock Shares could have multiple records for the same employee, I'd open that table first, then link in the employee name from the Employees table.
Additionally, you could pass runtime parameters programmitically to send form variables to Monarch, like employee name for example.
BTW, there's an [url="http://www.datawatch.com/support/downloads.asp"]upgrade available[/url] to 8.02.
Does that help you progress with your project?
Thanks for the quick reply, Kruncher.
I had a strange feeling that I would need to create a bunch of models for the different scenarios (that could get ugly in a larger database). Oh well.
There may be another way other than having multiple models, and coincidentally (?) it may involve runtime parameters, but I've not tried it before... I'll think about it before rambling out loud. Nick may have more ideas on this. Nick?
As to specific examples:
If openfile = True Then
SetRun = .SetRuntimeParameter("EmployeeID", Range("rngEmployeeID").Value)
SetRun = .SetRuntimeParameter("EmployeeName", Range("rngEmpName").Value)
openmod = MonarchObj.SetModelFile(Range("ModelFile").Value)
If openmod = True Then
End If /font[/quote]This requires the model file have pre-existing runtime parameter calculated fields defined named "EmployeeID" and "EmployeeName".
Since any function or filter can make use of a runtime parameter field, the ways to improve automation like this (Access or Excel or w.h.y. can basically communicate dynamically with Monarch) give you a very powerful tool.