5 Replies Latest reply on Sep 19, 2014 11:14 AM by Stephen Huston

    Saving and sharing a find - FileMaker 12

    laura@solutionmakers.com

      Hello:

       

      Our users enjoy the functionality of sending snapshot links for locating a specific set of records. Now they want to be able to perform a search, save and share that search with others in the event records change withint that find. The saved finds are great, but don't translate over different users and groups. Is anyone doing this? What's the best way to set that feature up?

       

      Thanks!

      Laura

        • 1. Re: Saving and sharing a find - FileMaker 12
          mikebeargie

          You've probably already opened a shortcut link in a text browser and realized it does not actually save the find info, rather a list of all the RecordIDs (filemaker schema ID) of the records in the found set you were looking at. Thus you can't scrape the find data out of one of these files.

           

          Saved finds are a quirky thing in FileMaker, you have no scriptable control of it, and the saved finds are based specifically on the user, not the session or the file. To share the saved finds natively, it requires logging in to the same user account. But that's not helpful at all is it...

           

          Theoretically, a "find transactions" log could potentially be scripted using a combination of design functions and script steps and a trigger.

           

          Basically your OnModeExit trigger would assemble some sort of log of your current layout and find request, then save it to a transactions table.

           

          Something like this to assemble your request:

           

          //Check for find mode

          If [ get(windowmode) <> 1 ]

             Exit Script

          End If

          Set Variable [ $layout ; get the layout ID ]

          Set Variable [ $fieldlist ; list of field objects on layout ]

          Go To Record/Request [ first ]

          Loop

             Set Variable [$i ; 1

              Loop

                  Set Variable [ $ii ; $ii + 1 ]

                 Set Variable [ $requests[ $1 ] ; List ( $requests[ $1 ] ; GetLayoutObjectAttribute(GetValue($fieldlist;$ii);"content") ) ]

                  Exit Loop If [ $ii = ValueCount($fieldlist) ]

             End Loop

             Exit Loop if [ $i = # of requests ]

          End Loop

           

          You would have to store that, then reverse it to rebuild the request. You would also need to come up with ways to handle omit.

           

          Huge pain, but theoretically possible.

          • 2. Re: Saving and sharing a find - FileMaker 12
            laura@solutionmakers.com

            Thanks Mike – I appreciate your thoughts. Would be GREAT if there was something like the snapshot, but a saved find. I’ll investigate further.

             

             

             

            Laura

            • 3. Re: Saving and sharing a find - FileMaker 12
              itraining

              NightWing released a demo file using FileMaker Pro 9 called Find Log System.

              http://www.nightwing.com.au/FileMaker/demos9/demo903.html

               

              Pretty sure Matt Petrowsky released a video tutorial years ago demonstrating how to save find requests and field criteria but I cannot locate the tutorial.

              http://www.filemakermagazine.com/

               

              Hope these helps.

               

               

              Michael Richards

              Brisbane (Australia)

              • 4. Re: Saving and sharing a find - FileMaker 12
                laura@solutionmakers.com

                Thanks Michael! Ill check those out.

                 

                 

                 

                Laura

                • 5. Re: Saving and sharing a find - FileMaker 12
                  Stephen Huston

                  FileMaker's knowledgeBase on Saved Finds notes that:

                       "Note The saved find is also available to any network clients that share the account."

                   

                  If you were to build a separate "Find Interface" file which opened only with a default account and set it up for performing and saving finds, all users would have access to the common-account's Saved Finds while in that interface.

                   

                  This could be tricky, as you probably don't want anyone editing records with a shared account. One could script capturing record IDs from the found set and restoring the same record set from that info back in the file where they each have separate accounts.

                   

                  On the other hand, if the Find Interface file were done up as a Reporting module without direct editing capabilities, both saved finds and reporting based on find results could be run using the common account without risking the integrity of tracking data edits.