Jump to content


Popular Content

Showing most liked content since 05/15/2017 in all areas

  1. 3 points
    Let's all get along? It's been rare for our forums, but on occasions I have had to step in to keep the peace and harmony of the site. At times personalities clash - and the typed repsonses are often done in haste - and the sort of thing that wouldn't be said if we were all in same room together. I am encouraging everyone to re-read https://fmforums.com/guidelines/ our guidelines. Let's please keep threads on topic. - and not abuse the "reporting" system. Please be courteous of others and if you have offended someone please extend a sincere apology. The least thing I enjoy doing is to put people in 'timeout' or ban them from the site. Thank you.
  2. 3 points
    Aleesha, another thing which fits for you right now is making it easy on yourself in future to know specifically which table occurrences have Allow Creation turned on. It looks obvious here but as your solution grows, it won't always be obvious and we can forget as well. What many developers do is use the text tool to create reminders such as the A or a - if 'deletion' or S for sort.
  3. 3 points

    Version 1.0.0


    This technique was inspired by @Claus Lavendt in a tweet. Now with offset new card style mode you can now create a tool pallet to interact with a document in preview mode


  4. 2 points
    I don't understand the question. It seems to me like you've already identified what needs to be done. I would recommend breaking it down and getting one portion working at a time, doing whatever research/experimenting you need to figure out each step. If you searched through the help file, I think you'd find you can piece this together. For your first step "Open Find" for example, you might want to read this: https://fmhelp.filemaker.com/help/16/fmp/en/#page/FMP_Help%2Ffind-request.html. The reference section of the help is useful for exploring what script steps are available: https://fmhelp.filemaker.com/help/16/fmp/en/#page/FMP_Help%2Fscript-steps-category.html%23 Here is some more general help on writing a script: https://fmhelp.filemaker.com/help/16/fmp/en/#page/FMP_Help%2Fscripts.html%23
  5. 2 points
    I think you want to use a Loop Script. http://www.filemaker.com/help/15/fmp/en/#page/FMP_Help%2Floop.html%23wwconnect_header # Do a find to Isolate Records to be changed # This will replace field contents with nothing. # Go to Record/Request/Page [ First ] # Loop # Set Field [zz_DeleteWarning__lxn ; "" ] Go to Record/Request/Page [ Next ; Exit after last: On ] # End Loop Lee
  6. 2 points
    Hi riadh2002 Thanks fo posting this mod. I love it, when someone can extend on what I start. Really glad that my tool seems to have been helpful to you and others. In case someone has only had their hands on the first version, I released, the most recent version of the tool, let's you both import, "make FM ready" SVG - but the most useful feature of the newest version, is that you can take a found set, press the button to "copy" all found icons and paste them into your solution all at once. So say you have a standard collection of SVG icons, that you normally want to use. Find these icons in the tool. Copy them. And then you use the paste shortcut, which will insert a button bar object, that you can delete immediately after you pasted it. Now, all your icons appear in the tools palette of your file. Newest version can be found here: http://thebrainbasket.com/?p=404 (completely free and open)
  7. 2 points
    For anyone who have pale icons in filemaker after importing here is how to change the colour to red Many thanks to Claus Lavendt, of DataMani for providing the tool for free Using SVG icon Helper, can be downloaded here for free: http://www.filemakervideos.com/filemaker-14-svg-icon-helper-tool-filemaker-14-training/ And this code takes into account all shape elements of SVG such as circle, rectangle, polygon,,,etc. and Works Great with IonIcons.com Library It removes existing fills and fm_fill class and substitutes with new values so it works with SVG with or without fill attribute. You can also change the color at the top of the code 1. Open SVG icon Helper FM database and open Script Workspace 2. Go to Script “Edit SVG files - mini icons….” 3. Go to the comment “#make changes” 4. Open the Set variable script step just below 5. replace the existing code by the following: 6. save and go back to the main layout and click the button with the blue pen, select folder and validate You’re done :-), now you can re import the icons into filemaker Let ( [ ~content = $content; ~color = "#FF0000"; // We need to search for all existing fills and remove them ~content=If ( PatternCount ( ~content ; "fill=\"" ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "fill=\"" ; 1 ; 1 ) ; 14 ) ; "" ) ; ~content ); // We need to search for all existing fm_fill and remove them class=\"fm_fill\" ~content=If ( PatternCount ( ~content ; "class=\"fm_fill\"" ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "class=\"fm_fill\"" ; 1 ; 1 ) ; 15 ) ; "" ) ; ~content ); // Then add the fills in the appropriate positions covering all possible SVG elements //<path ~content=If (PatternCount ( ~content ; "<path " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<path " ; 1 ; 1 ) ; 6 ) ; "<path fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<rect ~content=If (PatternCount ( ~content ; "<rect " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<rect " ; 1 ; 1 ) ; 6 ) ; "<rect fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<circle ~content=If (PatternCount ( ~content ; "<circle " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<circle " ; 1 ; 1 ) ; 8 ) ; "<circle fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<ellipse ~content=If (PatternCount ( ~content ; "<ellipse " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<ellipse " ; 1 ; 1 ) ; 9 ) ; "<ellipse fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<line ~content=If (PatternCount ( ~content ; "<line " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<line " ; 1 ; 1 ) ; 6 ) ; "<line fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<polygon ~content=If (PatternCount ( ~content ; "<polygon " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<polygon " ; 1 ; 1 ) ; 9 ) ; "<polygon fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<polyline ~content=If (PatternCount ( ~content ; "<polyline " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<polyline " ; 1 ; 1 ) ; 10 ) ; "<polyline fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<text ~content=If (PatternCount ( ~content ; "<text " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<text " ; 1 ; 1 ) ; 6 ) ; "<text fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ) ]; ~content )
  8. 2 points
    There is a file called permittedlist.txt. It is located in the /Users/{username}/Library/Application Support/FileMaker/Shared folder. This Library folder is normally hidden. To view it, go to Finder and open the Go menu while holding down the option key. The option key allows you to select the Library folder. Drill down to this file, permittedlist.txt and delete it. Or, to be ultra-cautious, just rename it. Now, when you try to upload a database to FM Server, it will alert you to any SSL certificate issues. When you choose to connect anyway, it will generate a new permittedlist.txt and it will allow you to freshly enter your FM Server admin name and password and upload the file.
  9. 2 points
    I'll counter that. One of our standards is to always an explicit "Exit Script" and to explicitly pass an empty string "" when no real value needs to be passed out of the script. The main reason is that the Get(ScriptResult) will remember the last explicit returned result. If you don't use Exit Script in the sub script but expect Get(ScriptResult) to be empty because you didn't pass anything back then you may be surprised to see a value if a previous script did use Exist Script with a return.
  10. 2 points
    Just to let anyone know that may have the same issue, I have submitted this to 360works support and they replied that this is a confirmed bug and recommend to go back to ver 1.67 until a fix has been issued. -Sydney
  11. 2 points
    Come to think of it, that's not entirely true. Suppose you add a field that cannot be empty (such as ClientID) into the portal and give it an object name. You could then use the GetLayoutObjectAttribute() function to get the object's content - and hide the portal when it's empty.
  12. 2 points
    I don't think playing 20 questions is a good method to get to the bottom of this. No one can tell why something fails without being able to reproduce the problem on their own first. The proper way to present this would be to attach the two files - preferably reduced to the absolute minimum that still shows the problem. Without this, all we can do is generalize and/or guess. In general, I can think of two possible reasons why records will not be imported: 1. There are no records to import; 2. There are records to import, but they do not pass validation. Now for the guess part: First, I don't know what you mean by "the autocomplete box on import". I am going to guess it's actually the "Perform auto-enter options while importing" option. And I am going to guess further that one or more of your fields is defined to auto-enter a value and validated as Not empty, Validate always. And I am going to guess that the source file contains no data to import into this field.
  13. 2 points
    Apparently, the issue is fixed in FileMaker 16.0.2!
  14. 2 points
    I'm not sure which topic this belongs in but... I really just wanted to let everyone on these forums know how thankful I am for your support, advice and guidance. Over the past few years as my small business has grown into a bigger business I've needed filemaker to do more advanced things and as I am not a developer and simply a business owner, I've turned to these forums and to you all and I couldn't have built my database without your help. From the bottom of my heart thank you so much!! Matt
  15. 2 points
    Extra step: yes. Hassle: after a while it doesn't feel that way because that new Layout Object inspector brings so much goodness that you'll use it all the time anyway and it won' feel like a hassle to have to move over to it. It'll become a very natural flow of your layout design. But it definitely is a change and requires a bit of mental retraining and so there is a bit of 'who moved my cheese'. I certainly scoffed at it in the beginning, now I can think of all the bigger hassles I had to go through before having this.
  16. 2 points
    Not sure if "master list" = client cache. I've not heard that term. However, I've read that some are seeing bad data (outdated) because of cache! Several desperate posts on TechNet. https://community.filemaker.com/thread/168254 But good reviews here: https://blog.beezwax.net/2016/06/15/performance-optimizations-make-compelling-case-for-filemaker-15-upgrade/
  17. 2 points
    I doubt very much you need or want to do that. What would be the purpose of this? You will end up with several numbered Category fields. Numbered fields are a prime example of poor database structure. You won't be able to find a record by its category, unless you search all the fields. You won't be able to define a relationship matching on category. You won't be able to produce a report of records grouped by category. I suggest you either split the field into individual records in a related table or just substitute the > character with a carriage return, so that your field contains a list of the relevant categories (same as a checkbox field would).
  18. 2 points
    Not sure I follow entirely, but in your script, just before the "Show Custom Dialog" just do a Set Field [Examples::MASTER CODE ; "" ]
  19. 2 points
    OK - I did it myself. Over a couple weekends of spare time, I wrote a few dozen scripts that interface between Filemaker and the Amazon Marketplace Web Service API. Sad to say, this is non-trivial. Amazon's documentation is poor: there are a surprising number of mistakes, misspellings, and obsolete/outdated sections. The one bright spot is the Amazon MWS Scratchpad, which provides a direct sandbox to allow testing different calls. Most of the documentation and online help is aimed at PHP & Java & Python developers; it's not too difficult to map this into Filemaker land. I wrote scripts to gather my orders from Amazon Market Place, and to send confirmations to buyers. Like most API's, there are many gotcha's. Here's a few hints, mainly to save time for others in my position. 1) A simple Filemaker WebViewer is *not* going to work, unless you do screen-scrapes from the Amazon MWS Scratchpad. 2) I used cURL to communicate with Amazon Web Service via POST. The information to be POSTed is the Amazon parameter string (which includes the hashed signature). The Monkeybread Software Filemaker functions (www.mbsplugins.eu) are just the ticket. 3) The outgoing information must be signed with a SHA256 hash. Again, this is available in the Monkeybread software functions. Use MBS("Hash.SHA256HMAC"; g_AWS_Secret_Key; g_AWS_Text_to_Sign_With_NewLines_Replaced; 1) 4) Getting the correct SHA256 signature requires very strict observance of line-feeds ... carriage return / linefeeds in OS X and Filemaker will cause a bad signature. Before making the SHA256 hash, do a complete replace so as to generate only Unix-style line-feeds. Within the "canonical parameter list" there aren't any linefeeds (but there are linefeeds before that list) 5) The Amazon API demands ISO-8601 timestamps, based on UTC. Filemaker timestamps are not ISO-8601, but there are several custom functions to generate these. The Filemaker function, get(CurrentTimeUTCMilliseconds), is very useful, but its result must be converted into ISO-8601. Notice that Amazon UTC Timestamps have a trailing "Z" ... when I did not include this, the signatures failed. 6) The Amazon API must have url encoded strings (UTF-8). So the output from the SHA256 hash must be converted to URL encoding -- again, the Monkeybread software comes through (use MBS function Text.EncodeToURL) 7) The Amazon "canonical parameter list" must be in alphabetical order, and must include all of the items listed in the documentation. 8) Errors from Amazon throttling show up in the stock XML return, but check for other errors returned by the cURL debug response. At minimum, search through both responses by doing a filemaker PatternCount (g_returned_data; "ERROR") 9) When you're notified of a new Amazon order, you must make two (or more) cURL calls to Amazon MWS: 1) first, do cURL request to "list orders", which will return all the Amazon Order Numbers (and some other info) for each order since a given date/time. 2) Then, knowing an order number, you do another cURL to get all the details for a given order. Repeat this step for every new Amazon order number. Each of these calls requires your Amazon Seller_ID, Marketplace_ID, Developer_Account_Number,_Access_Key_ID, and your AWS_Secret_Key. Each also requires a SHA-256 hash of all this information along with the "canonical parameter list" If anyone wants my actual scripts, drop a note to me (At this moment, my scripts do the all-important /orders /list orders and /get order. I'm almost finished writing a /feeds filemaker API to send confirmations. I probably won't build scripts to manage inventory or subscriptions, but once you've built a framework for the scripts, it's not difficult to expand to more functionality) Best of luck all around, -Cliff Stoll
  20. 2 points
    Here's one way. RowCalc.fp7.zip
  21. 1 point
    Hi Otter, I just got off of the phone with him, and he stated that, although he works with DXF he has never worked with it using FileMaker. Lee
  22. 1 point
    Try Upper(TextSize(TextFont(TextColor(Left ( P1::TN1 ; 1 ); RGB( 0 ; 0 ;0 )); "font1" ) ; 12)) & Upper(TextSize(TextFont(TextColor(Middle ( P1::TN1 ; 2 ; Length(P1::TN1 )-1); RGB( 0 ; 0 ;0 )); "font2" ) ; 12))
  23. 1 point
    Well, that is unless you're willing to use a plugin: BE_RegularExpression ( "AlphaBravoCharlie" ; "(\p{Lu})" ; "g" ; " $1" ) will return: " Alpha Bravo Charlie" and will recognize any uppercase characters, in any language.
  24. 1 point
    I don't think there's a shorter way = Trim ( Substitute ( text ; ["A" ; " A" ] ; ["B" ; " B" ] ; ["C" ; " C" ] ; ["D" ; " D" ] ; // ... ["X" ; " X" ] ; ["Y" ; " Y" ] ; ["Z" ; " Z" ] ) ) Hopefully you don't have any accented or Greek capital letters.
  25. 1 point
    Outstanding! That worked like a charm. Thanks for the help!
  26. 1 point
  27. 1 point
    Via a script: absolutely. What you are describing is often referred to as a 'scratch' table. A table whose data you will export but that is only there to transform the actual data into whatever form you need for exporting. When you are done with the export you can delete the data from the scratch table. There are other ways too, ranging from exporting from each table individually and using OS-level scripting to concatenate the 3 exports into one excel file. Or exporting to FM XML and using an XSLT style-sheet to transform that XML into an XLSX format.
  28. 1 point
    Neither. We are talking about a simple entity-relationship diagram, uncluttered by the restrictions of the relationship graph (e.g. using circular references, if necessary). It doesn't matter how you produce it - for all it matters, it could be a hand-drawing on a napkin. That is exactly why DB design should start with an ERD. If you don't have an ERD in front of you - if not physically, then at least mentally - then it's very easy to become confused.
  29. 1 point
    It would be helpful to see the original calculation, before you tried to "force" it. What you gave us is difficult to read, esp. when we don't know what the calculation's purpose is. I think you want do: If ( Cash Sales Total Sales Value ; Round ( ( Cash Sales Total Last 7 Days - Landed Cost * Cash Sales Total Last 7 Days * 1.2 ) / Cash Sales Total Sales Value ; 2 ) ; 0 ) This tests that your divisor is not empty or zero and if so, performs the division and rounds the result. Otherwise it returns 0. Note that 0 does not require rounding. -- P.S. IMHO, outputting an artificial zero result is bad practice. The correct result in case of division by zero should be either an error or nothing.
  30. 1 point
    I have now. The 16.0.2 update does not change the performance characteristics of the JSON functions relative to return-delimited lists or repeating variables.
  31. 1 point
    The JSON functions in FileMaker 16 have constraints the SortValues and UniqueValues do not. The JSON parsing functions check that the input they're trying to parse is in fact completely valid JSON. FileMaker has to do this to be able to return an error result when appropriate. You can't know if the outer-most structure in a JSON string is correctly terminated without starting at the beginning, checking every inner structure, and getting all the way to the end. Due to how the JSON format works, this requires stepping through the entire string for every single operation. (This could be resolved by FileMaker using a more efficient internal data structure for JSON in place of the raw string, but performance tests from a few folks suggest that FileMaker isn't doing this.) In comparison, the GetValue function only has to parse as many newline characters as it takes to get to the value you want, and it can ignore everything in a string after that point. With repeating variables, there doesn't need to be any parsing at all (depending on how you do it) — you can just use the whole content of the variable (repetition). The JSON writing functions have a similar constraint. They validate any JSON you had to start with, and then the JSON writing functions are somewhat fastidious in organizing the contents of their JSON outputs. You can make parsing nested structures in JSON less slow by parsing out inner structures, then getting the details from the inner structures, rather than pulling from the outer structure for every inner detail. This reduces how much total work FileMaker spends validating the JSON for each read. When speed is more important than simple code, do this: Let ( [ _dictionary0 = JSONGetElement ( $json ; 0 ) ; _0a = JSONGetElement ( _dictionary0 ; "a" ) ; _0b = JSONGetElement ( _dictionary0 ; "b" ) ; _dictionary1 = JSONGetElement ( $json ; 1 ) ; _1a = JSONGetElement ( _dictionary1 ; "a" ) ; _1b = JSONGetElement ( _dictionary1 ; "b" ) ] ; ... ) Not this: Let ( [ _0a = JSONGetElement ( $json ; "[0].a" ) ; _0b = JSONGetElement ( $json ; "[0].b" ) ; _1a = JSONGetElement ( $json ; "[1].a" ) ; _1b = JSONGetElement ( $json ; "[1].b" ) ] ; ... ) And for writing JSON, add as much in each JSONSetElement call as you can, rather than using many separate calls. Do this: JSONSetElement ( "[]" ; [ "[0].a" ; 1 ; JSONNumber ] ; [ "[0].b" ; 2 ; JSONNumber ] ; [ "[1].a" ; 3 ; JSONNumber ] ; [ "[1].b" ; 4 ; JSONNumber ] ) Not this: Let ( [ _json = JSONSetElement ( "[]" ; "[0].a" ; 1 ; JSONNumber ) ; _json = JSONSetElement ( _json ; "[0].b" ; 2 ; JSONNumber ) ; _json = JSONSetElement ( _json ; "[1].a" ; 3 ; JSONNumber ) ; _json = JSONSetElement ( _json ; "[1].b" ; 4 ; JSONNumber ) ] ; ... ) While these patterns make FileMaker's JSON functions less slow, it isn't enough to make them competitive with return-delimited lists or repeating variables for speed.
  32. 1 point
    I've just tested it with a clean database (see attached) and it works correctly on 16.0.2. So I'm assuming this was a bug specific to 16.0.1... FileMaker Server Bug.zip
  33. 1 point
    Your comment on line 15 says you don't want to update existing records but only add new ones. Still ... it should add any new records. A few things to consider: The Data type of Code is the same. ? is a very bad idea in field names. That can cause failures when dealing with external sources. What does your import log say?
  34. 1 point
    Yes, there is. You have a many-to-many relationship between People and Activities (one person can participate in many activities, one activity can have many participants). This requires a third table to join the two - a table where each record will represent the participation of one specific person in one specific event. You can see a basic demo of a join table here: https://fmforums.com/topic/50942-portal-grouping-problem/?tab=comments#comment-239210 Note that you can add records to the join table from either parent table, and have them show up in the portal from the other parent. You can also have any number of join records and there is no need to predefine numbered fields in any table for this purpose.
  35. 1 point
    I am afraid now you have lost me again. I don't understand your description at all (what on earth is a "modal script"?). Extend Found Set is the opposite of Constrain Found Set: the former adds records to the found set, the latter removes records from the found set. More precisely, both operations combine the current found set with the results of the find operation: Constrain Found Set returns the intersection of the two sets, while Extend Found Set returns their union. Again speaking in general, you have the following options: If you know by which criteria those records were omitted, you can use the same criteria to find them and add them to the current found set (using Extend Found Set as explained); If you don't know, you can possibly find out by restoring all the requests of the last find (using Modify Last Find) and identifying the one of interest (perhaps it's the only one with the Omit box checked?); If - as you say - the previous find is scripted, use that script to remember the criteria; Open a new window before omitting the records and do whatever you need to do there; when you're done, close the window and return to the original found set as it was before the omit operation.
  36. 1 point
    Probably not, since you're only showing the prescriptions of a single patient at a time. As I said earlier, you could have done this with 2 calculation fields only: a field in the Prescriptions table = ItemName & Char(9) & ItemSize & Char(9) & ItemCycles & Char(9) & ItemQtyTotal and a field in the Visits table using the List() function to create the above line for each prescription.
  37. 1 point
    Hi, I'm Nick Hunter developer at RCC who designed the new FMSP. There's only one way to tweak Tab Control height. There is 2 type of Tabs: The Tab Control in Themes for Desktop Tab control in Themes for Touch. Tabs for Desktop are "thin" when tabs for touch are twice as big. How to transfer thick tabs control from a Touch Theme to a desktop theme? 1- Create a layout with the theme of your choice for Touch. 2 - Create a Tab Control 3 - Copy the Tab Control Tab from the theme for touch. 4 - Go to the layout with the theme for Desktop 5 - Create a Tab Control 6 - Paste the style to the Tab Control... The tab becomes like the one for Touch. 7- Save a new Style... and Voilà. You have now both Tab Control in the same layout.
  38. 1 point
    Only connections to the server count, not the connections to individual files.
  39. 1 point
    If you wish to add a new icon into your button or button bar setup using the '+', you may have noticed that it does not stick in a served file. When you close out and go back in, the new icon has again disappeared. One must unserve the file and add it locally. However, I just discovered that if you add the icon into a local button or button bar then copy the button bar and paste it into the served file, it appears for selection in other buttons in the served file and remains even if you then delete the pasted button bar back out. This has been useful, not only in adding new icons, but keeping a button bar with all icons is a quick way to add your favorites into any other file. Originally, I was keeping my svg files and inserting one at a time when I created a new file, LOL.
  40. 1 point
    This seems like a rewrite of your previous question: http://fmforums.com/topic/101657-help-find-and-highlight-field-data-with-quickfind/#comment-462727 Now, while you could use Perform Find/Replace (searching current record, all fields), the better solution would probably be to change your data structure so that the fields become individual records in a related table.
  41. 1 point
    I'll echo that. I started doing that, and it has made it so much easier to make the switch. It's easy, and I do it with almost all software that is a trial.
  42. 1 point
    I am not sure what exactly you mean by that. Let us assume you already have the selected course's name (should really be an ID) in a variable. Then you can do: Go to Layout [ Students ] Enter Find Mode [ ] Set Field [ Enrollments::CourseName; $courseName ] Set Field [ Enrollments::Status; "Pass" ] Omit Record Duplicate Record/Request Set Field [ Enrollments::Status; "Transfer" ] Perform Find [ ] At this point, you will have a found set in the Students table of all students that did not pass (or transferred) successfully in the selected course. Now we'll just get those students' enrollments - all of them at first, then we'll keep only those of interest: If [ Get(FoundCount) ] Go to Related Record [ Show only related records; Match found set; From table: Enrollments ] Enter Find Mode [ ] Set Field [ Enrollments::CourseName; $courseName ] Constrain Found Set [ ] End If This may seem a bit convoluted, having to search for the course twice - but it requires no additions to the schema: neither relationships nor fields. I have used "Pass" and "Transfer" (instead of "win and "homologate", respectively) in the example code above.
  43. 1 point
    You posted this in calculations, yet you ask about script steps. To script this, you could start by doing: Go to Related Record [ From table: “LineItems”; Show only related records; Match found set; New window ] Next, constrain the found set in LineItems to "paper widgets" only and get the summary value from a summary field defined in the LineItems table. Finally, close the current window to return to your original found set in Invoices. This could probably be simpler if the initial search were performed in the Lineitems table to begin with.
  44. 1 point
    So why don't you implement your mockup as a popover containing 48 buttons, all running the same script with a different parameter? For simplicity, let's say the parameter is just a number between 1 and 48. Then your script could do: Set Field [ YourTable::Year ; AnyTable::gYear ] Set Field [ YourTable::Month ; Div ( Get (ScriptParameter) - 1 ; 4 ) + 1 ] Set Field [ YourTable::Week ; Mod ( Get (ScriptParameter) - 1 ; 4 ) + 1 ] where gYear is a the (global) field shown at the top of your picker. Well, then you don't really need a Month field and could make this even simpler.
  45. 1 point
    I had just finished an example. See if this gets you closer to what you want. It appears this is similar to Comment's suggestion. Select#numRecords.fmp12
  46. 1 point
    I get exactly where you are at. My first dive into development was taking a system from FMP 4...and reworking the workflow, and adding a ton of features. With the capabilities of the modern versions of FM, there may be some opportunities to consolidate that down into a single UI file that reaches out to the other files and uses there data. Classic separation model use-case. Good luck with whatever you decide to do, and if you need tips or have questions. You know where to find us!! lol
  47. 1 point
    Hi Cable, The FM Forums is not part of FileMaker Inc., and no one here works for FileMaker Inc. Our members are all volunteers donating their time, knowledge and skills to help other members overcome things they run across when developing files. To continue to express your frustration to us about this change isn't going to accomplish anything. You need to take this up with FileMaker Inc. Lee
  48. 1 point
    Duh. I'll answer my own question. The issue wasn't with the attachments -- it was with the body text. I had been using type "rtf" -- which doesn't support both text and attachments. Once I switched to type=html, I can now get both attachments and body text in the same message. Thanks -- and sorry to bother the community. Perhaps my stupidity will help someone else searching for a similar question.
  49. 1 point
    I wouldn't say that. There are lots of things that repeating fields do that repeating variables don't. For example, List ( RepeatingField ) returns a list of values in all non-empty repetitions of the field. OTOH, List ( $repeatingVariable ) returns ... well, nothing particularly useful. In fact, there is nothing "repeating" about repeating variables: each repetition is a completely independent variable with nothing in common with the other repetitions except the first part of the variable name.
  50. 1 point
    I have a copyright runtime in FM. You send in the scripts you have written. Hope this helps Lionel
This leaderboard is set to Los Angeles/GMT-08:00

Important Information

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