AnsweredAssumed Answered

Multiple windows of same layout with different found sets

Question asked by JohnTracy on Mar 21, 2012
Latest reply on Mar 27, 2012 by philmodjunk


Multiple windows of same layout with different found sets


I have a need of multiple windows of the same layout each with different found sets.  The "find" contains a find on FieldA OR a find on FieldB and an omit on FieldC.  The found sets in each window are unique but may contain some of the same records.

I've done the preliminary work and testing using a global variable for the finds.  This seems to work well for the finds but it is also used in calculation fields, script triggers, and conditional formatting.  Needless to say: multiple windows are screwed.

The easiest fix would be to have a variable local to a window.  FM local variables are too narrow in scope and global variables are too broad.  Each window of the same layout has a unique name drawn from a linked table.  This has potential for solution (with Get(WindowName)) but not easy.  Essentially, I would need to replace "$$LinkField" with the likes of: LinkedTable::LinkField whose LinkedTable::WindowName = Get(WindowName) -- I don't know how to do that and it would be a pretty awesome script in lieu of $$LinkField.

To make matters more difficult, not all records in the current window found set will link to the same window name.  All the records where the present $$LinkField is important in a script trigger or conditional formatting are the records that don't link to the ::WindowName.  Furthermore, these are records where the "find" is based on partial field content.  IOW, The "find" is for FieldB = *$$LinkField.  When I try to use the star(*) through some calculation without a variable, FM balks.

Any help would be appreciated.

I'm going to proceed by trying a global variable array.  I hope I can create the array dynamically (one member at a time.)  It would sure be nice if the index (rep number) could be the WindowName.

Take "Variables local to a window" as a feature request.