Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 8089 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

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.

Posted

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.

Posted

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 & "

Posted

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.

Posted

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.

Posted

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.

Posted

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.

Posted

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.

This topic is 8089 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

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