I finally found an article explaining the limitations of hidden and off-screen windows using GO and WD and I have figured a work around for my initialization scripts. But, I am still clusless on how to access info in non-related tables without using an off-screen or hidden window.
Desperate for help (should be my new screen name)
how to access info in non-related tables without using an off-screen or hidden window.
For just accessing date (reading, not updating or adding) you can use executeSQL. Only global fields can be updated without a relationship. You could create one or more relationships based on a global to temporarily relate to a record or records.
I must admit that I still make pretty heavy use of the method where you temporarily open a "processing" window to updated, add and delete records in unrelated tables. I'm in the midst of exploring other methods, myself, so let me point to some of the great resources I've found that I'm finding helpful.
You might want to check out the Selector/Connector model. You can find a good number of blogs and videos on this, particularly by the inventors and popularizers(?) of the method, Todd Geist and Jason Young I'd advise you further on that, but as evidenced by my open question(s) on the matter, I'm still wrapping my mind around that, as well.
You may also want to take a look at Todd Geist's work on the transactional model, which would advocate for making the relationships, even if they're temporary, to ensure that if the user cancels/reverts you can undo any and all changes in one go. (However, I would argue that there are some edits that should legitimately be outside the current transaction, such as when a user creates a new contact, but then decides not to link that new contact to the current record. The contact is still a valid contact.)
You might (I'm really not sure how applicable this is to your case) also benefit from checking out Idiomatic FileMaker – White Paper | ScaleFM. Among other things, the paper talks about using a "wingman" file that's run as a "zero window", the principal being that the wingman file opens as a related file, but only as a (hidden window), so it never runs on first window and doesn't load in the interface. I'd be curious as to how that would work on GO or WD. Our current clients are almost exclusively desktop, with a few minor exceptions, so I haven't thoroughly tested that yet.
Thanks, Chris. For now, I am mostly accessing some tables that store values that don't logically link to anything in this portion of the solution. I have tables that are essentially lists which need to be read in and assigned to global variables. The SQL idea may work. I never would have thought to try that.
I'll follow up on the research that you pointed me toward. I had read the transnational model before and attempted to use it, on my last rewrite (ver 3, I am now on 4) but it was too complicated to fit into a mostly finished and working puzzle.
I think ExecuteSQL is the right way to go. It is pretty fast and pretty easy once you get at it.