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
    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)
  5. 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 )
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 2 points
    Apparently, the issue is fixed in FileMaker 16.0.2!
  11. 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
  12. 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.
  13. 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/
  14. 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).
  15. 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 ; "" ]
  16. 2 points
    Here's one way. RowCalc.fp7.zip
  17. 1 point
    For many clients I use a different container data folder so that the FMS backup schedule only backs up the FileMaker database files, and I use CrashPlan for backing up the container folder. Unfortunately, 360Deploy expects the folder RC_Data_FMS to exist only in the database folder and fails with a 500 error if that path doesn't exist. Is a fix for this on the radar? Some of my solutions have many GBs worth of container data and I'd rather not have FMP back up all of this data every time a backup schedule runs. Dave
  18. 1 point
    Readme.txt: * Use '360deploy' as the username and password to open the included database You then immediately get prompted to change the password.
  19. 1 point
  20. 1 point
    This month at the Atlanta FileMaker Developers Group meeting we covered some topics we learned about at DevCon this year. View the full article
  21. 1 point
    Didn't say that it was, just how we do it and why. Doesn't matter where the "problem" comes from; our practice makes it safe no matter what someone's expectation is. For any level of developer, one of ours or one of the in-house devs. It's clear and well-understood.
  22. 1 point
    That wouldn't work any way you look at it, because (a) portal sorting is done at the layout level and the chart has no access to the sorted data; and (b) a portal - or the underlying relationship - can sort, but they will not summarize. It's actually very simple. Set your chart to use data from current record (delimited data). Then make sure you have two variables containing, for example: $$labels = Adam Betty Cecil $$data = 350 125 72 and use them as the pie chart's category labels and slice data, respectively.
  23. 1 point
    I did not attend Devcon this year. But I see that Kevin Frank posted the following comment recently on a different list. And actually - even elsewhere in this forum. But I thought it might be good to add his comment within this thread. Anyway, quoting him: https://filemakerhacks.com/2017/07/27/json-virtual-list/
  24. 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.
  25. 1 point
    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
  26. 1 point
    To display products grouped by their name, sort them by name and use a layout with a sub-summary part and no body part.
  27. 1 point
    A couple things that come to mind if you go down this path...there is a limit to how many variables you can set with a Let statement, 1000. And if you use the "JSONFormatElements" function, it may re-sort your data unexpectedly. I would consider JSON for passing variables, possibly, over using for virtual lists. Mike
  28. 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.
  29. 1 point
    You can calculate the date of last Wednesday using = Get ( CurrentDate ) - Mod ( Get ( CurrentDate ) - 3 ; 7 ) Note that this will return the current date when the calculation is performed on a Wednesday. I am afraid I did not get this part: The calculation looks only at the weekly cycle and ignores year boundaries. If you like, you can use = Get ( CurrentDate ) - Mod ( Get ( CurrentDate ) - Weekday + 1 ; 7 ) where Weekday is a number between 1 (Sunday) and 7 (Saturday).
  30. 1 point
    The only way to reduce the size of the mirrorsync.data file is by resetting the sync data. You can safely delete the .log files (there are probably thousands of them), but keep them for at least a two week previous window. They are necessary if you need to repair the sync data, but only for a week or two (we make a backup every week).
  31. 1 point
    Merge fields. You can see it in the menu bar in layout mode Insert>Merge Field... Also as a tip, you can highlight everthing between the first and last chevron and change the font to 1 point, to shrink them up in layout mode for easier viewing. If you ever need to see which field it is, click on the field, select 12 point. When your done, click outside the field and Ctrl +Z to undo and return it as it was. <<LONGTABLENAME::ExtraLongFieldName>> would basically look like <<LONGName>> (1 pt. font not available on this forum)
  32. 1 point
    Well, here is one way but it will mean you must change your tooltip. I used fields but theory is the same. Your tooltip sets a global variable and your script reads that global variable when you fire the script. In this way, you don't need to add both a tooltip AND a script parameter but you'll still need to change every tooltip that you've already written. tooltip.fmp12
  33. 1 point
    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.
  34. 1 point
    I'm a big fan of the DDR; but here's another approach that would be faster for your purpose: Create a script and: use the design functions to get a list of fields on the current layout (set a variable to: FieldNames ( get( filename ) ; get(layoutname) )) Then set another variable to interrogate the hidden metatables: ExecuteSQL( "SELECT FieldName FROM FileMaker_Fields WHERE TableName = ?" ; "" ; "" ; get(layouttablename )) grab the AntiFilterValues custom function from www.briandunning.com set a 3rd variable to the AntiFilterValues of the first two variables and you will have a list of field names that belong to the table the layout is built on but are not on the layout This way the result is always accurate and you don't have to take the extra steps of generating the DDR.
  35. 1 point
    That probably depends on their specific policies. One should note that FileMaker Server 16 can now generate PDF files, so one could probably do this in WebDirect using the "Perform Script on Server" command, and avoid needing a second "robot" user altogether.
  36. 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.
  37. 1 point
    Yes. FileMaker parses the JSON for every single query. The MBS Plugin can parse once and than reuse the same structures in memory to query. So the plugin will always be magnitudes faster.
  38. 1 point
    What on earth are you talking about? ZFS( the mac implementation is called O3X: https://openzfsonosx.org ) gives an amazing performance boost if you use a good HBA( RAID card in JBOD mode ) I have RAIDZ2 running with 8x 500MB/sec drives in which gives me 2800MB/sec read and write. My guess is something like this would be nice: Areca ARC-8050T2 8-Bay Thunderbolt 20Gb/s SAS/SATA/SSD Drive RAID Storage Enclosure This one I have attached to an iMac: https://eshop.macsales.com/item/OWC/TB4MJB0GB/ as an o3x RAIDZ1 Well, that may go for the old numbered RAID systems 0, 1, 5, 6, 10, 55 and 66, but for the FS level RAIDs it's a different story. ZFS provides, ciphering, RAIDZn, compression, copy on write, snapshots and all kinds of good stuff. My guess is Apple has implemented some of this stuff as well in the APFS. For RAIDZ the number is how many drives can go down without loosing data.
  39. 1 point
    You're on the right track, but the problem here is that the script would trigger after you've already landed on the layout so the server would still have to download whatever records happened to be in the found set. You should create a simple layout that's based on a layout with zero (or very few) records. Set this layout as your startup layout. Attach this script to a button on that layout: Enter Find Mode Go to Layout[ invoice list] Set Field[ date ; Month ( Get ( CurrentDate ) ) & "/" & Year ( Get ( CurrentDate ) )] Perform Find You don't incur a penalty when you go to Find mode before you go to a layout. The server doesn't download data until you go back to Browse mode (after the Find).
  40. 1 point
    I'm not so worried about things like window names. The audit log approach I showed at Devcon relies on Code() calls on field names for instance and those will fail now. Many data collection routines where I use strings like Project Manager names, project names, as buckets for reporting will now fail too. Unless I take Ron's approach to use Evaluate() calls on Let() to set my variables. Played around with HexEncoode on Md5 Digests but even then only a portion of the string gets converted to a number and while it reduces to likelihood of generating the same number for similar strings it's still too close to be comfortable. Obviously with 16 my approach would be to use JSON or Arrays and not repeating vars but this not bode well for the upgrade process of many solutions.
  41. 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.
  42. 1 point
    Here is why I say 25 records in form view and unlimited in table/list view, both by Mark Richman: Design Performance in 14: https://community.filemaker.com/docs/DOC-4168 Page 15 says: In Form view, up to 25 records of data are moved from the server to the client when a user traverses a record. In List view or Table view, FileMaker moves all the records that are currently displayed in the window, which can easily exceed 40 or 50 records at a time, especially on larger displays. DevCon on 13, he said and I copied word for word: If you touch the record you own the record, the whole record, all fields download with exception of container fields. 25 at a time in form view and how many are seen in list or table view. Summary fields move data when displayed, unstored calcs and containers only download when you see the record ON THE SCREEN. All fields download – all fields back to server with a single-field change. Batches … pre-fetch stored in temp so scrolling feels local. However we've been working entirely in 14 and I've only played a bit in 15 but I've heard that 15 was much faster. This Jon Thatcher link provided by Tom hits the spot. I have yet to find where numbers of prefetch is discussed or different from prior but the use of this Master List (?) is intriguing so I suspect I need to review the principles! Thanks Barbara! If you find more about the issue, I'd love to learn it. I wanted to ask what you meant about client cache - is that the Master List stored on the User system? Top Call Logging is very exciting! Only downloading records which have changed is indeed a game changer on network traffic, right?
  43. 1 point
    Hi Charity FileMaker fetches data as it needs it, and it's beyond the scope of most developers to understand how the internal database engine works, and when data is fetched. You don't need to tell FileMaker when to fetch data. If you display a field in a tab on a form view, or in a column in a table view, then FileMaker will fetch and show the data. When it does fetch the data, it will be downloading from the server, or wherever the file is physically located. Usually we don't worry about it too much (as we have little control over it), but if you have very large images stored in the database, or are paying for data transfer (such as when using FileMaker Cloud), or even when using WebDirect where performance is a big consideration, it can be worth considering. If you could explain why it is important to you, perhaps we could give a bit more detail?
  44. 1 point
    You don't. A stored value will never change on its own just because time has passed. But you can - and IMHO should - use a third field, an unstored calculation field, to display the current age, calculated from the stored age and the date the record was created as = Age + Div ( Get (CurrentDate) - DateCreated ; 365.2425 ) or, if you want it more accurately, as = Age + Year ( Get (CurrentDate) ) - Year ( DateCreated ) - ( Get (CurrentDate) < Date ( Month ( DateCreated ) ; Day ( DateCreated ) ; Year ( Get (CurrentDate) ) ) ) I believe this is the best solution for you because (a) it leaves your original data as entered, and (b) it does not modify your records spuriously when no real modification has occurred (this is specially important if you keep track of record modification dates). Keep in my mind that a yearly script has to run every year, and - no less importantly - must not run more than once in the same year. IOW, there should be a record of each run, and the script needs to check it before it acts. I don't think that's a good idea because it requires the script to run every night, with absolutely no exceptions: no weekends, no holidays, no power outages, no floods. If you miss a day, there's no record of that - and your data is skewed forever.
  45. 1 point
    "-H Authorization: ShippoToken " & $token & " -H Content-Type: application/json -d " & $json I believe above should make a valid string.
  46. 1 point
    If you take that piece of your code and put in the data viewer it will tell you what is wrong. Look at the output and compare it to what is required. Some quick ones: - you don't need the ampersand after the first -H - you don't add spaces between the different sections
  47. 1 point
    To address the loss of the bottom toolbar during development, I have created a small toolbar which I am putting on every layout with a hide condition if [ not "Full Access" ]  As a result of reading this thread, I think I will be adding additional buttons/segments to include "Show/Hide menu bar[toggle]" and to access layout Mode
  48. 1 point
    Whilst I really like the new behaviour on PCs, I too have clients for whom having multiple windows visible will be at best a confusing change and at worst - well who knows (it depends how well I programmed things in the past!) I guess you could mimic the old behaviour by hiding all windows except the one you want to be active. Perhaps a script something like this would help Script: Hide Other Windows Set Variable [ $activeWindow; Value:Get(WindowName) ] Set Variable [ $allWindows; Value:WindowNames ] Set Variable [ $iMax; Value:ValueCount ( $allWindows ) ] Set Variable [ $i; Value:1 ] #loop over all windows and close all but active window. Loop Set Variable [ $window; Value:GetValue( $allWindows ; $i ) ] If [ $window ≠ $activeWindow ] #Remember to uncheck "Current file only" for multi file solutions Select Window [ Name: $window ] Adjust Window [ Hide ] End If Exit Loop If [ Let( $i = $i + 1 ; $i > $iMax ) ] End Loop
  49. 1 point
    Thanks Beverly and Kevin - you've both been a big help. I think I have the correct information in front of me now. I'm going to have to wrestle with the syntax a bit, but these reference are much better than the FM documentation! ...and I think I'm okay without the Japanese version, Beverly. I'm confused enough as it is!
  50. 1 point
    Has anyone noticed how many threads begin with: "Hello, I am very new to Filemaker and databases in general, and I have been tasked with the responsibility of creating our company's new database."? What are the bosses of these people thinking when they assign the management of their data to someone with no skills to handle the task? I wonder if other forums also get similar messages, for example: "Hello, I am very new to civil engineering and construction in general, and I have been tasked with the responsibility of designing our town's new bridge." "Hello, I am very new to money-markets and finance in general, and I have been tasked with the responsibility of managing our company's investment portfolio." "Hello, I am very new to NASA and space flight in general, and I have been tasked with the responsibility of directing our next shuttle mission." "Hello, I am very new to hospitals and medicine in general, and I have been tasked with the responsibility of performing our CEO's open-heart surgery." "Hello, I am very new to physics and science in general, and I have been tasked with the responsibility of developing our country's nuclear weapon." "Hello, I am very new to the White House and politics in general, and I have been tasked with the responsibility of leading the free world." (OK, so scratch this last one...) Why are our skills as developers so under-rated by the executives that they do not hesitate to assign a summer intern to the job?
This leaderboard is set to Los Angeles/GMT-07:00

Important Information

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