shorty Posted May 11, 2004 Posted May 11, 2004 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.
Charles Delfs Posted May 11, 2004 Posted May 11, 2004 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
shorty Posted May 12, 2004 Author Posted May 12, 2004 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
Ender Posted May 12, 2004 Posted May 12, 2004 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.
RalphL Posted May 12, 2004 Posted May 12, 2004 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]
Ender Posted May 12, 2004 Posted May 12, 2004 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.
shorty Posted May 13, 2004 Author Posted May 13, 2004 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
RalphL Posted May 14, 2004 Posted May 14, 2004 Do you have a button over the Yes Box and another on over the No Box?
shorty Posted May 14, 2004 Author Posted May 14, 2004 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
RalphL Posted May 14, 2004 Posted May 14, 2004 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.
shorty Posted May 14, 2004 Author Posted May 14, 2004 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
-Queue- Posted May 15, 2004 Posted May 15, 2004 Good catch. You need to have it as Set Field [Answer, "Yes"], where Answer is the field specified and "Yes" is the calculation specified.
shorty Posted May 16, 2004 Author Posted May 16, 2004 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.
Recommended Posts
This topic is 7498 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 accountSign in
Already have an account? Sign in here.
Sign In Now