Jump to content

Recommended Posts

I have a field named "Databases" with the following values: "CORD", "SDHS", "Y Ballet". This field is displayed as a checkbox set. I recently learned that "CORD" should have been "DSA", so I naively changed "CORD" to "DSA" in the value list but then none of the records that were checked for "CORD" were checked for "DSA", which reminded me that the values in the value list are the values of the field Databases and not labels for checkboxes. I revised the value list to again include "CORD" and its checkbox is again checked for all the records for which it was originally checked.

I wrote a script, shown in one of the attachments, to insert "DSA" into the Databases field for each of the records that contains "CORD" in that field. When I run the script I get an error message saying "Databases" is defined to contain only specific values, and that I must enter a valid value. How can DSA not be a valid value when it is included in the value list for the field? How can I accomplish what I want to do?

Does programming scripts in FileMaker ever get easier? I don't write many scripts, but when I do I find it surprisingly difficult to accomplish what I think would be the simplest of tasks.

Thanks in advance for your help,

John Link

22598958_ValueList.png.515a59af957824c887db34e702700efe.pngScript.png.76a03749ce450b437e1e31c5a920294a.png22598958_ValueList.png.515a59af957824c887db34e702700efe.png361709511_Errormessage.png.fc0449bafc580c9f7d9598b942fb2673.png

Edited by John Link
Link to post
Share on other sites

If you want to know what's really happening, place another instance of the field on the layout and format it as an edit box. Then you will see that if the field has say CORD and SDHS checked, it contains:

CORD
SDHS 

Now, your script inserts the text "DSA" at the default insertion point, which is at the end of the field's data, resulting in:

CORD
SDHSDSA

and "SDHSDSA" is not in your value list.

 

Based on your description, I would expect to see an entirely different action:

Set Field [ YourTable::Databases; Substitute ( YourTable::Databases ; "CORD" ; "DSA" ) ]

 

Note also that your script is missing a Loop section. it will modify the first record (or at least try), move to the next record and stop.

 

Edited by comment
Link to post
Share on other sites

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
  • Similar Content

    • By Tony Diaz
      The tables.
      Items::ID
      Items::Item
      Items::Publisher
      Items::Date
       
      The Genre data is already arranged like this:
      Genre::ID (Unique Key)
      Genre::Name
      Genre::Category_ID
      Genre::Category

      The Platform data is 'simple'. ID and Name. But each item could be multiple platforms.  (Example #1 vs. Example #2)
      Platforms::ID
      Platforms::Name
      An item can have multiple Genre Categories related to it, and those usually have a single choice from within their Category, but might have multiples.

      It's supporting the possible multiples that I'm trying to work out. At this point there's 15 possible Genre Categories that each Item could have a selection from. Most have 4-6 of them.

      Example 1: Items::Table on the left, Genre::Table on the right, with some Genre Categories (Genre, Perspective, Pacing, Gameplay, Interface, Setting) and their sub-options.
      This one has just one sub-option per category.

      Example 2:  The Gameplay Genre Category has two sub-options related to it.



      Example Genre Table content:

       
      Just cracking the surface on One to One and One to Many relationships, I don't think this scenario is quite covered this way.

      Would each of those Genre Categories be portals showing only their related category ID?

      I presume that I would add fields to the Items::Table so I can pull related records:
      Items::Platform_IDfk
      Items::Genre_IDfk
      Items::Category_IDfk
      But those only support one relationship.
      Would I make value lists from those Genre Categories and Platforms and set them as tick box fields?
       
    • By Tony Diaz
      How do I set a field with a value list item from a script, from a set of tick box values? .. or remove a value list item, but leave whatever else is there alone?
      Looks like GetValue with the name of the value list and the position # of the value, but I'm sure that also means that if I change that value list, I need to change any scripts that reference them by position # too..
      Something like detecting if a string is already there, and if not add it, surrounded by C/Rs, unless it's the first item entry?
      For the first time a field is set, I presume I could just Set Field (field ; "Value List Item"), and if there's only one entry/line in it, just clear it.  But if there's already a value there, I just want to select an additional one.
    • By emncwundy
      I have two iPads connected to FM server. For some reason one ipad (5th Gen running 13.5) will not complete the navigation scripts and shows error messages (no records match this find criteria), however the 7th Gen running on 13.1.1 works fine..... Issue has only begun after purchasing the second, newer iPad. I cannot for the life of me work out what is wrong, or how to troubleshoot and would love some guidance please!! Here is a screengrab of one of the scripts and related layout:
      fm go script issue.tiff Orders iPad layout.tiff
    • By PatrickDes
      Hello everyone,
      I have a Preference table with status options. The user can create a new status and through a script can assign a color (see attachment). The calculation is the following: 
      Allow user abort [off]
      Set error capture [on]
      Set variable [$start ;  value: Get ( ActiveSelectionStart )]
      Set variable [$end ;  value: Get ( ActiveSelectionStart ) + Get ( ActiveSelectionSize ) -1 ]
      Insert Calculated Result [ TextColor ( Middle ( Get ( ActiveFieldContents ) ;  Get ( ActiveSelectionStart ) ; Get ( ActiveSelectionSize) ) ; Get ( ScriptParameter ) ) ]
      Set Selection [ StartPosition : $start ; End Position : Send$ ]
      The ScriptParameter has the color values in RGB: RGB ( 237; 41; 190).
      The Status field is pulled into a Value List for the Product table. Is it possible, once the status is used in the Product table , to convert the text color into a conditional formatting? Is my approach wrong? I am trying to give the user some flexibility.
      Thank you for guiding me.


    • By Agnes Riley
      I'm getting "The file "" could not be opened. Either the host is unavailable, or the file is not available on that host."
      This happens when a script runs. Not a new server, no new files. The file is actually open in the background. The file reference is just "file:".
      I restarted the server. Didn't fix it.
      FMS18.03
      It's apparently intermittent. I copied all the script steps to a new script, then it worked 3 times, but couldn't find the file for the 4th time.
      Any ideas?

×
×
  • Create New...

Important Information

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