Jump to content


Popular Content

Showing content with the highest reputation since 10/21/2019 in Posts

  1. 3 points
    Could it be = C * Tan ( Radians ( A ) ) + B ?
  2. 2 points
    Perhaps I am missing something here, but ... the SQL query is nothing more than a text string. If you know the name of the table, you can enter it as literal text; if you have it in a variable, you can simply concatenate the variable to the rest of text, so that instead of: "SELECT * FROM ITEM" you have: "SELECT * FROM " & $table_name Adding both Quote() and Evaluate() to the mix does not accomplish anything. Evaluate ( Quote ( text ) ) returns the original text unchanged. However, if the name of the table does not begin with an alphabetical character, you must enclose it in double quotation marks. Here, the Quote() function can be helpful: "SELECT * FROM " & Quote ( $table_name ) So to summarize, setting the variable to: BE_FileMakerSQL ( "SELECT * FROM " & Quote ( $table_name ) ; "," ; ¶ ; $fm_file ) should work for you.
  3. 2 points
  4. 1 point
    In general, ScriptMaster modules/scripts are written in Groovy which is somewhat of a superset of Java. Looks like John said that the script you are referencing is JavaScript so it would have to re-written in order for it to work with the plugin.
  5. 1 point
    This is a pretty vague description of a problem. It may help if you can provide where you found this script and even just post the script contents.
  6. 1 point
    Quite right comment. For the OPs benefit I was showing how to write the code in a simplified form which is easier to read and therefore debug.
  7. 1 point
    Based on this description, I would expect the penalty to be calculated as something like: If ( Get (CurrentDate) > Due Date and not DatePaid or DatePaid > Due Date ; AmountDue *.05 ) However, this still has the flaw of hard-coding the penalty rate into the calculation formula. Ideally, the rate would be auto-entered into another field and referenced from there, so that you can change it without affecting previous records. Note that the calculation must be unstored because it relies on current date. A test of 0 will always be false, not true. OTOH, the last test, AmountDue*.05, will always be true (unless the amount is 0).
  8. 1 point
    Here is your case statement on a line-by-line basis Case ( IsEmpty ( DatePaid ) or DatePaid>Due Date ; AmountDue*.05 ; 0 ; Due_Date<Get (CurrentDate) ; AmountDue*.05 ; 0 ) All I have done is put in some returns to separate the individual cases Notice that case #2 starts with "0". This is not a comparative but will always be true and will yield either 0 or 1 based on Due_Date<Get(CurrentDate) Should your statement actually be... Case ( IsEmpty ( DatePaid ) or DatePaid>Due Date ; AmountDue*.05 ; Due_Date<Get (CurrentDate) ; AmountDue*.05 ; 0 )
  9. 1 point
    Go back to the email you got with your FM18 license details. The links to the downloads will point to the latest full installer so that you don't have to install v1 first and then upgrade. If you don't have that email anymore, contact your FM sales person and they can send it again.
  10. 1 point
    If they didn't change it, then you have two options: import an XML response, or get a JSON response and parse it. I suggest you try the JSON route first: for testing, define a global text field, then use the Insert From URL script step to place the response in this field. The URL needs to be calculated from your address fields - something like: "http://maps.googleapis.com/maps/api/geocode/json?address=" & Substitute ( List ( Street ; City ; State ; Country ) ; [ " " ; "+" ] ; [ ¶ ; "+" ] ) & "&key=YOUR_API_KEY" This should populate the global field with a JSON response like the one shown here. Then you can parse out the latitude using: JSONGetElement ( YourTable::gTestfield ; "results[0]geometry.location.lat" ) and, of course, for longitude change the last key to "lon". Once you have it all working, you can replace the global test field with a script variable. --- Caveat: the response may contain more than one address; you should test for this and, if necessary, let the user select the correct one.
  11. 1 point
    Also, the images on your layouts appear fairly small, yet some images are much larger than they need to be (I found one that is 1644x1380). By resizing your images to the max size your DB uses, you reduce the filesize significantly. Also make sure you use something like 80%-85% compression as the quality of the images doesn't justify any higher. Your max image size doesn't need to be higher than 650x455 pixels at 85% compression. The mentioned image original size was 287kB and went to 98kB at 640x540 with 85% compr. Considering that 50% of your images can loose around 200kB each, you'd be looking at a reduction of around 15MB. If there are duplicate images, you can loose more fat by using a separate image table and using a relationship.
  12. 1 point
    Sorry, I can't do your debugging for you. The only thing I can add to my previous answer is that the following statement: SELECT "Customer Name", SUM("Invoice Total") FROM "Invoices" WHERE "Invoice Sub Total" > 0 AND "InvoiceMonth" = 10 AND "InvoiceYear" = 2019 AND ("Job Status" <> 'Giveaway' OR "Job Status" IS NULL) GROUP BY "Customer Name" works fine for me. Here you can see it applied to your file, after escaping and replacing the hard-coded criteria with arguments:
  13. 1 point
    Depends a little on when you fire this calculation. If it will fire each time a user visits the dashboard then some of it doesn't make sense since last month's numbers will not have changed from one visit to the other. So you don't need to recalculate those numbers over and over through SQL, If you feel you need to use SQL because you are constrained to the Dashboard context. You can calculate these numbers at night in a server-side schedule, at the end of the month using non-SQL functionality. The same applies to the current month's numbers, except if the users expect those to be accurate to the minute.
  14. 1 point
    Comment, Thank you so much for that formula! I just went out to the shop and measured a bench we have in production. I compared it with what your calculation said it should be and baddabing-baddaboom we built it just like the Filemaker says we should. You are really talented at this but I think you missed your calling. You should have been a Cabinetmaker!
  15. 1 point
    Hi Per Lind, 360Deploy would not be able to do this. You would need to use FileMaker Pro to convert your files from the .fp5 to .fp7 and then .fp7 to the current file format .fmp12 . Here is a blog post from LuminFire that discusses this directly.
  16. 1 point
    from the command line do: fmsadmin restart adminserver Then try the console again. If it still fails then just close the files form the command line and proceed with the uninstall: fmsadmin close Remember to rename the leftover "filemaker server" folder in Library (macOS) or Program Files (Windowds) and reboot, before installing FMS16. Otherwise those leftover files will get in the way.
  17. 1 point
    Dogged by a Slow FileMaker Database? Cache in on this Quick Tip to Improve Layout Load Times & Report Generation By Joe Cellino, FileMaker Developer Have you ever wondered, “What is taking this report so long to generate?” or “Why does this layout take so long to load?” It may be that your FileMaker fields are set up inefficiently. If you have unstored calculation or summary fields on your layout, this will most certainly be the issue. Just as the names indicate, “unstored” calculation fields and “summary” fields don’t store any data. They must calculate the data each time the field is displayed. It may be easier to use unstored calculations in order to get your database functionality working, but this will inhibit your system from scaling with your business in the long run. The good news is — you can improve FileMaker performance with this data caching trick. Read More - > https://excelisys.com/dogged-by-a-slow-filemaker-database-check-out-this-data-caching-tip/
  18. 1 point
    I gather there was an update overnight....and its not working again: has Microsoft taken over apple/claris? Becoming a joke
  19. 1 point
    Before you jump to such wide-reaching conclusion, open any file and plug this into your data viewer: BE_FileMakerSQL ( "SELECT * FROM FileMaker_Fields" ) I believe you will see the same thing that I do: that your assumption is wrong. So that means you have a syntax problem. And, AFAICT without seeing what's in your variable, the problem is that you are passing the table name as a string - so it needs to be enclosed in single quotes, not double quotes. IOW, the result of evaluating the query expression should be the following string: SELECT FieldName FROM FileMaker_Fields WHERE TableName='YourTableName' -- P.S. I find it's easiest to construct the query in a text field first and test it from there. Once I have it working, I can work on the expression that will return the exact string I have in my text field and that I know will work.
  20. 1 point
    Thanks bcooney, from a quick look, this might solve my problem.
  21. 1 point
    This is a great exercise in constructing JSON. See if the attached demo works for you. Grouped2JSON.fmp12 Because Filemaker doesn't know it's supposed to be one-to-many. You need to either validate the parent's ID field as unique, or make it auto-enter a serial number/UUID.
  22. 1 point
    Those error codes are FileMaker error codes afaik therefore 102 == field missing Groovy errors will refer to things like class issues or things like inability to do an action on a null object..
  23. 1 point
    Sure, you can always make it complicated instead of making it simple. But the behavior is NOT the same: for example, the value in a calculation field can be copied by the user. If you have disabled entry in Browse mode, then it cannot be copied.
  24. 1 point
    Filemaker Help uses the same notation. They probably did not invent it. Excel has a similar syntax using square brackets. True, a single carriage return can be unquoted. This is a heritage from times when Filemaker branded itself as "the mom and pop store's database" and tried to make it easy for non-programmers. Thus there are quite a few things you'll find "idiosyncratic" if you're coming from a programming background. If we are speaking in the context of the BE_FileMakerSQL() function, this only looks at files that are currently open - so it doesn't look in the file directory at all. I don't know what it does if there are two files open with the same name. There is the help. It's far from perfect, but it does have all the functions and script steps (and more) in the Reference section.
  25. 1 point
    What version of FileMaker are you using? Do you have FileMaker Pro or FileMaker Pro Advanced? Couple of notes: If you update your profile with the version you are using, that gives us a reference point to better answer your questions. If you are using v17 or 18, there is ONLY FileMaker Pro Advanced. And you have to go into Preferences and check the box, "Use Advanced Tools". Then restart FileMaker. You will then see the "Tools" menu.
  26. 1 point
    Well, then try: BE_FileMakerSQL ( "SELECT * From Provenance" ; "," ; ¶ ; "YourFilename.fmp12" ) This should give you a simple CSV of the data in the Provenance table.
  27. 1 point
    No. ScriptMaster uses Java (or Groovy, which is a Java variant), not Javascript. Two completely different languages. It runs in a web viewer, not in Filemaker itself. The web viewer is just an instance of Safari on MacOS and Internet Explorer on Windows. In this thread you will find two demo files showing how you can produce QR codes in Filemaker. They both use the same Javascript code available from: http://davidshimjs.github.io/qrcodejs/
  28. 1 point
    Got the following from my Office 365 tenant today...looks like I will be unable to do "basic" (normal) authenitication for IMAP using the 360Works Email plugin to Office 365 mailboxes starting 10/13/2020. I don't see any mention of OAuth in the current documentation for the Mail plugin, so I'm assuming it doesn't yet exist.... Is 360Works working on adding OAuth functionality to the Email plugin? Thanks, John
  29. 1 point
    If you hold down the Option key, the Paste command changes to "Paste Text Only" - i.e. plain text with no styling. Plain text is what you need to get the field's contents to take on the styles defined for the field on the layout.
This leaderboard is set to Los Angeles/GMT-08:00
  • Create New...

Important Information

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