Jump 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.

Featured Replies

I use a small Filemaker db that keeps track of client contacts. There are fields for name, date of contact, reason for contact and result of contact. The contact layout is set to view as list and we scroll through it like a rolodex. What I don't like is to scroll through and find all 20 contacts for one client listed one after another. It's cluttered. I'd love to rescript so that only the first contact record for each client displays. To review contact history for any client would simply require a find and a find report layout. Is there a way to script so only the first record for each client is displayed?

Create a layout that shows information for a single record (contact of a client). After you have the found set of contacts, use a script to sort the found (perhaps by date) and go to the first record.

First manually sort the data as you want the script to do so. Then open ScriptMaker and create a script entitled something like Sort by Date Ascending. Place in it a single line, Sort [ Restore ]. This will store the sort options and duplicate them when you run the script.

Assuming that you already have a script to perform the find, you would then write another script called, perhaps, Find Contacts and Go to First Record with the following lines:

Perform Script [ Find Contacts, Perform Sub-scripts ]

Perform Script [ Sort by Date Ascending, Perform Sub-scripts ]

Go to Layout [ Detail ]

Go to Record/Request/Page [ First ]

The reason I recommend placing the sort command in it's own script is that sorts are often useful to many scripts, and this way you can call the sort script from any script that needs to sort by date ascending, and you only have to store the sort once.

Chuck

This is a little complex, but it should do what you want. You will need a unique number field (not name) identifying each client. I'll call this ClientID. You will also need a unique field called RecordID:

RecordID (calculation , number) =

Status(CurrentRecordID)

Create a self-join relationship (a relationship from the contact file to the same contact file) called "CLIENT" with ClientID matching ClientID. Create a field:

FirstRecFlag (calculation, number) =

Min(CLIENT::RecordID) = RecordID

This field will be a one if the record is the lowest serial numbered record for a client. This will give you one marked record per client. Perform a find setting FirstRecFlag to one. The records shown will be the first records entered for each client. -bd

  • Author

I used your RecordID suggestion down to the find. I'd prefer my users not have to go that extra step. Actually, the fewer steps the better for me as well. Instead, I changed my sort order from Last, First to RcdID, Last, First. This rolls all duplicate records to the very end. Since we'd never scroll past the last client, we end up with our perfect little rolodex without multiples.

Thanks, so much! It works beautifully even without a find.

Create an account or sign in to comment

Important Information

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

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.