Skip to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Grabbing the found set to return to it later

Featured Replies

Anybody has an idea as to how to do that when you have thousands of records showing? I have been using a global field to which I Copy All Records' IDs, but I started getting the "Sorry, this operation could not be completed because you have reached text block limits." I guess this means I've hit the 65,000 chars ceiling of the text global field.

Any alternatives? Thanks people.

Couple of ways.

Create a text field and a script that puts, say, an "x" in the field in all found records. Then later you can do a find for the "x" in that field.

or...

Create a related file, choose a name for the found set and have the related file create related records containing the name in a separate field. Then in the main file do a find for all records with that name in the related field. This way, you can save multiple found sets.

Flagging fields in a multi-user solution can create problems if several users are doing it at the same time. An improvement is to do the following.

1. Create a global field gSessionID and set its value to something unique like:

Status(CurrentDate)&"-"&Status(CurrentTime)&"-"&Status(CurrentUser)&"-"&Int(Random*10000)

2. To flag the found set, do a replace on the flag field with this formula:

Flag = Flag & "

RE: Flagging fields in a multi-user solution can create problems if several users are doing it at the same time. An improvement is to do the following.

Not in Global fields. If you put the number of record into global fields, you can then retrieve it again.

The Flag field is not a global it's just a regular text field that has a session ID appended to it to tell if the record belongs to someone's found set. If Joe has a session ID of 7/6/2002-11:15:34-Joe-388, and Fred has a session ID of 7/6/2002-12:01:23-Fred-2938, then

If a record's flag field contains:

7/6/2002-12:01:23-Fred-2938

7/6/2002-11:15:34-Joe-388

then the record belongs to both users' found set.

If it contains:

7/6/2002-11:15:34-Joe-388

then the record belongs only to Joe's found set

If it contains:

7/6/2002-12:01:23-Fred-2938

then the record belongs only to Fred's found set

Rather than have a global that contains all records in a found set which can exceed the 64000 char limit, the flag fields will only contain about 30 characters per active user so there is no problem with the field hitting the limit.

BTW, this method allows for a user to save more than one found set. Just create additional session ID's and flag the fields accordingly. Then search for the appropriate session ID to get back to the found set.

Assuming that you have a max recordID of say 5 digits, which allows for about 100,000 records. This will allow for about 11000 records in a single found set, assuming that ALL records need the full 5 digits for the recordID.

Do you really need to save found set this large? Do you realize the performance hits when dealing with saving and restoring this size of a found set?

I have found that when implementing this kind of functionality set a reasonable number (I like something about 2500 max) and if the result of a find is larger than this, just inform the user that the set cannot be saved and that they should refine thier criteria.

I would bet that even 2500 is way too high for most solutions, as most user do not want or need to deal with this many records at one time.

I suggest that you check out a demo file which is available from John Mark Osbourne's site, which shows a very neat and efficient way of saving found sets and restoring them.

The file is still available on his site at the URL:

http://www.filemakerpros.com/Save_Found_Set.zip

The method demonstrated is reltively simple, does not involve record marking, allows saving of an unlimited number of found sets and works in either multi-user or single user mode.

A cursory examination of Osborne's solution seems to be very similar to my second alternative above.

Great minds DO think alike!

Yes. smile.gif Although you'd referred to the approach in broad terms, I thought the example file would make it easier for alexliz to bring the technique into focus.

I guess that when it all boils down, though, the question is which of the solutions suggested will enable 'alexliz' to circumvent the 64,000 character limit which is confounding her present system.

As a best case scenario, saving found set key fields to a single field using serial numbers to identify the records (because they are shorter than recordIDs, which are non-contiguous and rapidly increment to eight digits) it should be possible to save found sets of up to around ten thousand records.

It is not clear from the original post whether the requirement is for saved sets which exceed these limits, but if so, some variation on the the method Bob proposed may be necessary.

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.