Jump to content
Server Maintenance This Week. ×

Displaying a List of found records in a portal...


Nick Sanders

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

Recommended Posts

  • Newbies

Hey guys. First time post here. I just purchased Filemaker Pro 14 for our company and am in the process of setting up a database for our call center to use in tracking customer contact, having notes on each contact and so on. I have the system basically setup and functional. But I am trying to expand the functionality of the database a bit. Below is what I am needing to do.

I have a Database with Contact information in it. It has a related table for a number of diferent types of content. one being Notes for each contact.

I currently am using the find feature for the girls in the call center to find the people they need to contact. What I would like however is to have a list inside a portal or equivalent of all the items that they return from their find. For example:

2000 Contacts

They search for company name: Auto Sales

That returns a list of records 100 of 2000 Records.

the first Record is for: Spartanburg Auto Sales

What I want to have along with all the standard contact information for that record is a portal that will display under the notes column showing all the other records with specific fields (Name, Company, Phone, Date Last contacted, etc.) that they can scroll through. Almost like a queue of what their upcoming calls will be in a way. Perhaps even highlighting the record they are currently on. But thats not a deal breaker. Any help for this noob would be great. Thanks in advance!

 

Thanks,
Nick Sanders

Link to comment
Share on other sites

Just answering the question from the title:

• create a (global) text field (g)FoundIDs from your layout context (TO) – let's assume this is Contact
• create a relationship between Contact and a new Contact TO (table occurrence) where
  Contact::(g)FoundIDs = Contact_foundSet::primaryKey
• add a summary field “List of: primaryKey” to the Contact table
• place a portal (and the desired related fields) pointing at Contact_foundSet on the layout

Write a script to:

• perform a Find in Contact (could be performed in a new window)
• capture the content of the summary field in a $var
• return to your Layout TO  (or close the new window)
• set (g)FoundIDs to the $var

If (as assumed above) you do this from a layout of the Contact table itself, then use this Conditional Formatting predicate

Contact::primaryKey = Contact_foundSet::primaryKey

to format (one or more fields in) the portal row that represents the active record.

Link to comment
Share on other sites

  • Newbies

eos, 

Thanks for the reply. Please pardon my ignorance. Still learning filemaker here. I have completed up through the portal and have a list of "all" the contacts in my database but I am having trouble understanding how to make the script that I am guessing will filter those results for me. How do I activate that script? Do I have to place a button on the layout somewhere or can I just have it always run on the refreshing of the database? I have created a script, trying to follow your instructions. But Like I say, still at a loss on how to execute it to eliminate the filtered records. Not sure I build to script correctly. It won't let me copy and past the script in this message so I am going to attach a screen shot of it.

Nick Sanders

Screen Shot 2015-05-20 at 5.18.58 PM.png

Link to comment
Share on other sites

Please pardon my ignorance. Still learning filemaker here. […] Not sure I build to script correctly.

​I think you're doing fine. Note that among developers the pattern

Enter Find Mode [ no pause ]
Set Field [ YourTable::fieldToBeSearched ; criterion ]
# { more criteria }
Set Error Capture [ on ]
Perform Find []

is preferred to Perform Find [ restore ], due to better readability and the not exactly intuitive interface of the restore dialog. But using that option is perfectly valid.

Also note that the Set Field[] in your script will (probably) only work if gFoundIDs really is a global field, since otherwise it would be out of context. (Just prefixing a field with "g" will not set it automagically to global storage, contrary to some people's belief … :D )

How do I activate that script? Do I have to place a button on the layout somewhere or can I just have it always run on the refreshing of the database?

There are lots of ways to launch/trigger a script. Which of them is optimal in a given situation/workflow is for you to decide. Maybe this link will help you.

http://www.filemaker.com/help/14/fmp/en/html/create_script.14.1.html#1034729 

It will help to describe your workflow(s) in real-world terms, then try to translate that into database operations.

Link to comment
Share on other sites

  • Newbies

EOS,

Thanks again for the reply. I spent the day working on this project and trying my best not to abuse your help. I have succeeded at getting what I needed done. I think I did it the way you suggested however there some bits that I think I did differently. I just wasn't fully understanding. I am sure some of the ways that I accomplished this are probably a bit clunky but for now they seem to work. I did it through a use of various global fields and variables and then rite to another field in the contact sheet then filter out those fields in the portal view of my contacts TO. That was the only way I could find to resolve only showing the find results from contact in contact TO. I hope that makes since. It seems a bit clunky but I am sure I can refine the process in a future version of the database. I imagine I am slowing things down on processing in the database since I am doing so much writing and reading from it rather than sorting. Anyways. I still have much to learn I know. So thank you for all your help.

If I get the chance I will post a full synopsis of what I did to for anyone else looking to do it in the future. or for other to critique it and help me make it work better.

Nick Sanders

Link to comment
Share on other sites

This topic is 3263 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.