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.

Checkboxes and Pop Up Screens

Featured Replies

I need to convert a paper flowchart system of asking questions to Filemaker Pro. This is for a family Tech Support. The system would need to be able to ask a question by the Tech Support. Then based on the answer (yes or no)another pop up will come up and ask the next question.

Is this possible in Filemaker Pro? And if so then where would I start. I thought maybe it would start with a question database and then based on a checkbox answer to the question it would be related to an answer database.

Help, I really need to have some family members help with my calls.

Thanks in advance.

well basically, one file holds all the questions and answer ponters to the next question.

each record would be a question like 'is the power button on?' and then in a field in that record would be a pointer ID to the next question to ask. A script would then goto that record and ask that question, compare the answer to the referenced recods and goto the appropriate one. This method makes it very scalable and you can create circular paths to retry things like 'Reboot again to complete the instalation'

hth

Charles

  • Author

I now have one file with fields of Question, Pointer ID, Answer (Checkbox that is yes or no). I think I understand that you want me to write a go to record script that would be based on the answer in the checkbox. I am completely stuck on this process. I can talk it out loud to myself as follows.

Question: Is the power button on?

Answer: (Checkbox) Yes or No User clicked yes

Then goto Pointer ID: M2

Which would bring up next question.

Now for some reason I can't get that to Scriptmaker.

I really am stumped on the scriptmaking?

Thanks for your help

Here's one possibility, though you may need to add extra GlobalIDs to track the history of the session so your user can backtrack.

The Question file has these fields:

RecordID

AnswerYesID

AnswerNoID

QuestionText

Resolution?

Create a relationship "AnswerYes" between AnswerYesID and RecordID

Create a relationship "AnswerNo" between AnswerNoID and RecordID

This could be done with a Custom Dialog in a loop (This could also be done with a layout instead of a Custom Dialog):

<Starting from first question>

Loop

If [ Resolution? ] //If the current record is flagged as a resolution then show the resolution

Show Custom Dialog [ "Resolution", "QuestionText" ] //with button "OK"

Go to Layout [ main layout ]

Halt Script

End If

Show Custom Dialog [ "Trouble Shooter", "QuestionText" ] //with buttons "Yes","No","Cancel"

If [ Status(CurrentMessageChoice) = 3 ] //Cancel

Go to Layout [ main layout ]

Halt Script

Else

If [ Status(CurrentMessageChoice) = 2 ] //No

Go to Related Records [ Show, AnswerNo ]

Else //Yes

Go to Related Records [ Show, AnswerYes ]

End If

End If

If [ Status(CurrentFoundCount) = 0 ]

Go to layout [ main layout ]

Show Message [ "No resolution found" ]

Halt Script

End If

End Loop

Forgive any errors in that. The general idea is a tree structure, where each question is a branch on the tree. The leaves on the tree are the records with Resolution? = 1, on these you would type the resolution in the QuestionText box. The only tricky part is populating the tree with the correct pointers to yes/no branches and resolutions.

Hope that helps.

I assume that each record will have a primary key Serial Number.

Each record will have 2 pointers, on for Yes and one for No.

The answer field will be a checkbox or radio button. There are 2 self-relationships Yes is Yes Pointer = :: Serial Number and No is No Pointer = ???:Serial Number.

Put a small transparent button over each checkbox or radio button. Write a script for each.

For the Yes box use somethin like this:

Set field [Answer; "Yes"]

Preform script [go to next card]

The go to next card script would be something like

If Anser = "Yes"

Go To Related Record [Yes Relationship]

else

Go To Related Record [No Relationship]

Try Ralph's method.

The nice thing about doing this on a layout instead of a Custom Dialog, is you can include graphics as part of the question or resolution. You also don't need to worry too much about users getting stuck in an infinate loop from bad pointers (they can close the file easily.)

I still think the resolutions can be records within the Question file, just use a different layout.

  • Author

First of all thank you to all that replied. It has helped me tremendously.

Ralph,

I tried your example:

File: Monitor

Fields of:

Serial Number, Yes Pointer, No Pointer, Question Text, Answer

The answer field is a checkbox using value list called New Value List. It is a custom list "Yes" "No"

2 Relationships:

Yes Relationship is Yes Pointer=:Serial Number

No Relationship is No Pointer=:Serial Number

Yes Box Script:

Set Field [Answer="Yes"]

Perform Script [Go to Next Card]

No Box Script:

Set Field [Answer="No"]

Perform Script [Go to Next Card]

Go to next Card Script:

If ["Answer="Yes"]

Go to Related Record ["Yes Relationship"]

Else

Go to Related Record ["No Relationship"]

End if

The No Box Script works great.

The Yes Box Script acts as a No Box

Help, so close yet so far

Thanks

Do you have a button over the Yes Box and another on over the No Box?

  • Author

Ralph,

Yes I have two separate boxes. One over the yes and one over the no.

I also checked the yes and no pointers to make sure they weren't miss keyed.

I took out all the no answers and when I clicked the yes button it did nothing but blink.

Anything else. I would be willing to send you the file if it would be easier to see what could be wrong

Thanks

The only other thing I can think of is to check the buttons to make sure they are using the correct script. Do you set the Answer field to NOT allow entery into the field. You might add a text field Answer to the layout to see what is in that field.

Sorry but I will not be able to work on it until next week. I did make a little file of my own and the check boxes work.

  • Author

After looking back at your example I see that you have the Yes Box to read Set field[Answer;"Yes"]

I have it to read Set field[Answer="Yes"]

Just grabbing at straws. Thanks for you help

Good catch. You need to have it as Set Field [Answer, "Yes"], where Answer is the field specified and "Yes" is the calculation specified.

  • Author

Thank you to all that took the time to help. To give you a little background, Our Family helps elderly and kids that couldn't afford to learn or have the luxury of technology. We have donated quite a few computers and found that they require help after the delivery.

And now that Our Family Tech Database is working splendidly, we will be able to help more in a shorter time frame. Hopefully our questions also help someone else someday.

Thank you again for the help.

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.