We have reset all users FileMaker related profile fields. Please take the opportunity to update your information,  this will provide background to members whom read your posts. Click here.

Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


comment last won the day on June 24

comment had the most liked content!

Community Reputation

1,357 Excellent

About comment

  • Rank

Profile Information

  • Gender
    Not Telling

FileMaker Experience

  • Skill Level
  • FM Application

Platform Environment

  • OS Platform
  1. Table with many fields or table with generic field?

    I think by now two things have become clear: 1. Your application is not a survey and most, if not all, advice given to you under this wrong impression is irrelevant to your real situation; 2. Filemaker is not a particularly well-suited tool for creating this type of application. I am not saying it's impossible to create it in Filemaker, but since the intended product is not a database, it will be less than ideal. You have two conflicting requirements here: (a) show each question separately; (b) define calculations taking several answers to specific questions as the input. I see several possible solutions to this conflict, none of them very attractive: You could have a field for each answer and use a very long script to collect the answers, one by one, using a global field to capture the user input and distribute it to the appropriate field; You could collect the answers into individual records and use a table of Calculations to produce the required results. The relationship would make all Questions related, and the calculation fields would use the GetNthRecord() function to pick among them. Combine the two by collecting the answers using individual records, then running a script to transfer them into individual fields in another table (where the calculation fields would be also living).
  2. Table with many fields or table with generic field?

    I guess not, because everyone here thought you had a field for every question. Your file shows every question as a separate record, so that's a good start. Again, assuming there is only a single respondent - otherwise you need to separate the questions from the answers. IMHO, you don't need the Control table. You only need to navigate from record to record in the Questions table itself. But that's a minor point: using a relationship to show the current question can work just as well. Except that the Number field in the Control table should be a global field (and it could be in any table). As for the navigation, instead of writing a giant script covering 180 possible scenarios, you should make your script generic and use the Question table to store the specific instructions (I have already said this in my second post here). The default would be Go to Record [ Next ] (or, if you are using a relationship to show the questions, you would set the global field to itself + 1). I don't see "a precisely formatted form" in your file. I see text comprised of different answers. The formulation of each answer should be done as a calculation field in the Questions table, and you could use a summary field to put them together. However, this will not work if the formulation of one answer depends on answers given to other questions. I am not sure how representative your example is in this regard but if this cannot be avoided, you are looking at an awful lot of work the result of which won't be pretty.
  3. Table with many fields or table with generic field?

    You don't print a form. You print a list. If you want to print only some of the answers, then perform a find for them. There is no other way to do it. At least not a reasonable one. You would have to design a separate layout for each possible combination of answers you'd ever want to print. Not to mention that summarizing the answers to produce any meaningful statistics out of them would be just as impossible.
  4. Table with many fields or table with generic field?

    I am not sure what you mean by that. The answer should be entered by the user directly into a record. This could be the same record as the question (in case you have only one respondent) or a related record. There should be no need to capture it in a variable and enter it elsewhere. And if by "table with all the fields" you mean a table where each field is a question and/or an answer, I advise you - again - to abandon the idea.
  5. Table with many fields or table with generic field?

    No, it is not reasonable to have a field for each question. Especially if you want to present one question at a time and control the order in which they are presented. If that is the pattern for all questions (Yes/No) , you could have two fields in the Questions table to store the IDs of the next question to go to in each case.
  6. Table with many fields or table with generic field?

    I don't really understand your description - esp. the part about "controlling the flow based on prior answers". In general, a solution that collects answers to questions (i.e. a survey) will have a table of Questions (where each question is a separate record), and a table of Responses (where each response is a record linked to the corresponding question). If you have multiple respondents, then you would have a table for them too - and each response would be linked to both a question and a respondent. There are variations on the theme, but this is the basic structure.
  7. You do need multiple Case (or If) statements in order to put together the basic list of missing subjects - something like: List ( If ( IsEmpty ( Math ) ; "Math" ) ; If ( IsEmpty ( Reading ) ; "Reading" ) ; If ( IsEmpty ( Writing ) ; "Writing" ) ) Once you have this, you can replace the last separator with an "and" and change the other separators to a comma, before merging it with the rest of the text: Let ( [ list = List ( If ( IsEmpty ( Math ) ; "Math" ) ; If ( IsEmpty ( Reading ) ; "Reading" ) ; If ( IsEmpty ( Writing ) ; "Writing" ) ) ; lastCR = Position ( list ; ¶ ; Length ( list ) ; - 1 ) ; replace = If ( lastCR ; Replace ( list ; lastCR ; 1 ; " and " ) ; list ) ] ; If ( not IsEmpty ( replace ) ; "Our records show that you have not passed the " & Substitute ( replace ; ¶ ; ", " ) & " portion(s) of the COMPASS exam." ) ) Finally, you could reuse the same test to control the plurality of "portion(s)": Let ( [ list = List ( If ( IsEmpty ( Math ) ; "Math" ) ; If ( IsEmpty ( Reading ) ; "Reading" ) ; If ( IsEmpty ( Writing ) ; "Writing" ) ) ; lastCR = Position ( list ; ¶ ; Length ( list ) ; - 1 ) ; replace = If ( lastCR ; Replace ( list ; lastCR ; 1 ; " and " ) ; list ) ; s = If ( lastCR ; "s" ) ] ; If ( not IsEmpty ( replace ) ; "Our records show that you have not passed the " & Substitute ( replace ; ¶ ; ", " ) & " portion" & s & " of the COMPASS exam." ) )
  8. container filling

    What would be the purpose of this exercise? I suspect you want to create one additional table, with one container field and one field linking it to the parent record in your original table. Then use a script to create (up to) 10 related records for each record in the parent table and populate each with the content of one of 10 container fields in the parent record.
  9. Calculating overtime?

    Is the result type Time? If yes, you can do: Max ( TotalHours - Time ( 8 ; 0 ; 0 ) ; 0 ) The result is Time, too.
  10. Schema design for small project...

    I would have a table for Questions (12 permanent records) and a table for Responses (12 records for each person surveyed). Optionally a table of Respondents and a table of Surveys. The actions part is not clear. Is an action required as the result of a single response? Or as a result of combination of responses from a single respondent? Or from multiple respondents? I am not sure that's required, but in any case those would better be calculation fields. Otherwise you open the door to having more then one checked.
  11. text field vs numeric field in sorting issue

    No, it only affects the way the field is displayed on the layout. Keep in mind that you can add another instance of the same field to the layout and format it differently. Filemaker keeps the original value as entered. If you enter "7x01" into a number field, you will get "7x01" as the result of GetAsText ( Numberfield ). You will also see the original value when you click into the number field - no matter how it's formatted. But the value will be indexed as "701".
  12. text field vs numeric field in sorting issue

    You are using the system setting (look under File Options > Text). Formatting the display of the field is irrelevant here. The problem is that your field contains a non-numeric value (see the addition to my previous post).
  13. text field vs numeric field in sorting issue

    When I open your file on my system, I see the actual value in A_NUM field as 1,1 not 1.1. Similarly, in B_NUM field in record #14 of Table_B I see the value of 1,1. A string containing a comma is not a number, unless your file is set to use comma as the decimal separator. Your file is set to always use the current system's setting - so the question is what is your OS using as the decimal separator. Added: I see that the file's settings are to use a comma as the decimal separator. I believe you have entered "1.1" into a number field on a system that requires a comma to be used as the decimal separator, and therefore the value is indexed as 11 ( same as any string value would be indexed using only digits, the minus sign and the decimal separator - see the attached demo). NumIndex.fmp12
  14. text field vs numeric field in sorting issue

    See if you can reproduce the problem in a new file. You only need two tables with a number field in each. If you see the same behavior, post the file here. If not, make a copy of your file, remove everything except the two tables joined by the relationship and their matchfields, and post it here. To stress the point: we want to see a file where 1.1 matches 11.
  15. text field vs numeric field in sorting issue

    I am afraid that doesn't add up. In your place, I would try to understand the cause of the problem, because it might affect other things too.

Important Information

By using this site, you agree to our Guidelines.