Jump to content
  • Welcome To FMForums

    Welcome to our community, full of great ideas on developing your FileMaker solutions effectively,
     for peer-to-peer support of the FileMaker Platform and related products and services. Register and join the conversation!


    fmf AD.jpg



All Activity

This stream auto-updates     

  1. Past hour
  2. how i can stored a field when it depends from a related field from the other table, The field is the senior citizen discount field which only calculates when the customer is registered as a senior citizen. if not , it will not calculate. Table 1-Customer (senior citizens discount field) one to many relationship Table 2-Transactions(look up the senior citizen discount field and make a discount if the discount field is yes)
  3. Today
  4. Got it. Everything works ok. Thanks again.
  5. Thanks very much. Just a quick question. How should I change the calculation so that the color field is not hidden when say A (or b or both) and C are checked. I want to make sure I can check C along with either A or B without the color field getting hidden.
  6. Yesterday
  7. The Learner

    Hiding issue

    Hi, I have field 1, which is set at Checkbox Set and uses a value list of three items (A, B, C). Then I have field 2, which I’d like to be able to hide whenever A or C, or both, is checked in field 1. Hiding field 2 when A or C of field 1 is checked works fine. But I can’t manage to hide it when both A and C are checked. I’ve tried several different calculations but nothing seems to work. Is this feasible? Thanks for your help.
  8. Making sure that Windows doesn't restart after updates would suffice in my opinion. You need to be prepared to recover databases anyway. After all, the power grid can fail (a UPS will only keep the server running for so long, although that should buy you enough time to shutdown DB's), hardware in the server can fail causing a BSOD, disks can fail, ransomware, so there are lots of other issues that can happen that will cause your server to not close DB's properly. Mitigate what you can, at reasonable cost. Make sure you have a recent backup for instances where the server crashes horribly. FMS will shutdown DB's before it shuts down itself. Windows however can forcefully shutdown closing processes, regardless whether they are finished. There are some configuration options whether you allow to forcefully close frozen processes (I think the default is 2 minutes), but don't count on that staying the same after updates. Microsoft doesn't have the best track record when it comes to updates. They fix a lot, but they often also break a lot of stuff that worked just fine prior.
  9. Geist Interactive believes in education. That’s why we commit so many resources to teaching everything we know about building valuable applications and digital experiences with the FileMaker platform. And it’s also why we helped found and directly support One Spark Academy, a non profit learning center for middle school age kids in Thousand Oaks, CA. […] The post One Spark 2019 – Education Matters appeared first on Geist Interactive. View the full article
  10. I don't get any errors when I step through using the debugger and if I let it run my logs show it completes but then I open up the web based mail client and the total number of messages has only gone down by whatever I set the initial fetch to. I was simply going in and deleting the old messages manually but this is an ongoing process and I wanted to add a delete function to the main script so after it has read the recent new messages it can delete some of the older messages and keep the overall mailbox size down to a reasonable level. The other reason I want to have the script clear the old mail is that I got lazy and let it grow until my available mailbox space got too low and now I've got over 20,000 messages to delete, a slow process when each page of the web client only shows 200 max. In the end I want to keep several months of messages in the mailbox and between 75 and 125 new messages come in daily so each day when the script runs it would be great to have it keeping the mailbox up to date which I suspect will be around 3000 messages. Here is the current script (after the EmailConnectIMAP script and followed by EmailDisconnect) Go to Layout [ “EmailSettings” (EmailSettings) ] Set Variable [ $ViewedMessages; Value:EmailGetMessageCount( "Viewed:True" ) ] Set Variable [ $MessageBufferCount; Value:EmailSettings::BufferMessageCount ] (set to 3000) Set Variable [ $MaxFetch; Value:EmailSettings::Max Fetch ] (set to 200) Set Variable [ $MessagesLeftToDelete; Value:$ViewedMessages - $MessageBufferCount ] Set Field [ EmailSettings::_result; EmailReadMessages( "progress=" & EmailSettings::Progress Bar; "mailbox=INBOX" ; "Max=" & $MaxFetch; "attachments=false" ; "viewed=true" ; "deleted=false" ) ] #pulled the following from Max= & EmailSettings::Max Fetch for testing Commit Records/Requests [ No dialog ] If [ EmailSettings::_result = "ERROR" ] Set Field [ EmailSettings::_dialog; "Could not read messages: " & EmailLastError ] Go to Layout [ “EmailLog” (EmailLog) ] New Record/Request Set Field [ EmailLog::Desc; "An error occurred: " & EmailLastError & "¶¶" & "Version: " & EmailVersion ] Halt Script End If #loop through messages pulling in groups of maxfetch Loop #Loop over the messages, mark each as deleted Loop Exit Loop If [ $$NewMessagesCount > $MaxFetch ] Set Variable [ $Result; Value:EmailGetNextMessage ] Set Variable [ $Result; Value:EmailMessageSetFlag("deleted") ] Set Variable [ $$NewMessagesCount; Value:$$NewMessagesCount + 1 ] End Loop Set Variable [ $MessagesDeleted; Value:$MessagesDeleted + $MaxFetch ] Set Variable [ $MessagesLeftToDelete; Value:$MessagesLeftToDelete - $MaxFetch ] Exit Loop If [ $MessagesLeftToDelete < 1 ] Set Field [ EmailSettings::_result; EmailReadMessages( "progress=" & EmailSettings::Progress Bar; "mailbox=INBOX" ; "Max=" & $MaxFetch; "attachments=false" ; "viewed=true" ; "deleted=false" ) ] End Loop Set Field [ EmailSettings::Skip; EmailSettings::Skip - $MessagesDeleted ] Go to Record/Request/Page [ First ] Commit Records/Requests [ No dialog ]
  11. Thanks, Steve. You're right about it making sense to me and being confusing to others—it has been cobbled together and modified bit by bit over the years, and looks unwieldy now, though it all functions as expected...except for this one weird bit. To answer your other questions, Guest isn't particularly important; it's just a table that joins a Person to a Screening to note that the Screening had a special guest in person. Countries is a table of countries of origin, which is joined to the Title table by the Origin join table, to track the country or countries of origin of the films. And I have updated my OS and FM version info, thanks. In the case of my particular issue, I want to stand in the Person TO and view a list of Titles associated with (directed by) that Person, as well as Screenings of those Titles, and see data about the first of those Screenings for each Title, including Venue, City, State, and so on. All of the rest of my database is noise when it comes to this, and 99% of it is irrelevant to this particular little issue, which has something to do with my Venue and Venue Name setup, I think. I'll look deeper into it and I'll see if I can make a trimmed-down copy of the database to upload. Thanks.
  12. 360Works Case Study: Sightlines Group Integrates FileMaker and Salesforce using MirrorSync About Sightlines Group - Improving Organizational Systems and Processes Sightlines Group, founded by Chris Barber, works with foundations, community-based organizations, and global technology and banking firms by helping them develop custom software, and by designing and delivering leadership development programs. Sightlines Group works with technical teams or with entire organizations who need to build better relationships with their constituents, track outcomes, research their impact, and tell their story. Furthermore, they provide leadership development and coaching work, including the design and delivery of hundreds of courses to clients including HSBC Bank, Hitachi Vantara, and The Cities for Financial Empowerment Fund. FileMaker - The Flexible CRM Early on, Chris and his team developed some opinions about the role of customer relationship management (CRM) software, especially for foundations and nonprofits. “Often CRMs box people in and get in the way of adaptation,” says Chris Barber. Sightlines Group works most often with the FileMaker and Salesforce platforms to experience greater flexibility and scalability. FileMaker allows high flexibility, rapid prototyping, and rapid development. Salesforce allows out-of-the-box integration and enterprise scalability. The Use Case - Syncing Data Between FileMaker and Salesforce The CFE Fund (The Cities for Financial Empowerment Fund: cfefund.org) is a national foundation that helps cities integrate financial empowerment into local government services. Their organization chose the Salesforce platform for its Case Management system which supports Financial Counselors located in cities across the country. First, however, the CFE Fund needed to transform and migrate several years worth of data from a legacy system into Salesforce. Sightlines Group used FileMaker’s rapid development tools to extract data from the legacy system and transform it into Salesforce’s data model. Rather than using traditional migration tools, they reached out to 360Works to see if MirrorSync could allow them to “sync” the data into Salesforce rather than performing a tricky one-time migration. This would allow the migration to happen over time, since data could be migrated to Salesforce, then inspected, and then further transformed from FileMaker, and then synced again to Salesforce. The Solution - Using MirrorSync for FileMaker and Salesforce Integration Upon first using MirrorSync, Chris and his team at Sightlines Group were pleased to find that they could trust MirrorSync to work reliably under the hood. “MirrorSync worked very well in the background, it has a lot of logic built in. Anyone who has worked with sync, knows that is usually not the case,” recalled Chris. The Sightlines Group team was able to be an important contributor to the use of this Salesforce configuration in MirrorSync for other FileMaker developers by providing helpful experiences they had while working. Chris shared that he was grateful for ongoing efforts from the 360Works team in always taking feedback and turning it around for improvements. MirrorSync Provides Seamless Integration MirrorSync was able to significantly improve the speed and efficiency in their workflow while accessing data between FileMaker and Salesforce. “Now, we can do this in a snap. We’ll work in FileMaker and watch it sync, using MirrorSync, to Salesforce a moment later. MirrorSync has made a big impact on our work. It's allowed us to merge the best that Salesforce has to offer with the best that FileMaker has to offer," shares Chris. He is very pleased with their new tight integration between FileMaker and Salesforce, he enjoys being able to hook in a variety of web services and have the choice of having them hook to FileMaker or hook to Salesforce. Sightlines Group has configured their custom application for The CFE Fund to report back to FileMaker so they can take various actions based on the results in Salesforce, automatically. For example, they now have logic built in for posting to a Slack channel if there is any unexpected behavior within their application. It made their lives so much easier to receive clear information about what's happening back in FileMaker, without it feeling like a bulky add-on. MirrorSync Manages Keys The feature they enjoy the most is the way MirrorSync manages keys. “It automatically inserts, edits, and deletes child or parent records depending on your architecture. Salesforce keeps its own primary keys, so MirrorSync will take a new record in FileMaker, create a new record in Salesforce, get the Salesforce Id, and write that back to FileMaker, all automatically. If it did not work this way with managed keys, Salesforce would error out as Salesforce has strict key requirements,” reports Chris. Final Result: A Complete, Synchronized Custom Application MirrorSync is known amongst FileMaker developers to be an automated, customizable, and a fast-working tool. You can set it to sync just certain tables, fields, and records as needed - creating the most customizable synchronization solution. It even does bi-directional synchronization. It's a set-it-and-forget-it solution, and it's very fast. We can enter our data in FileMaker and 30 seconds later it propagates to Salesforce,” says Chris. Chris and his team at Sightlines Group are experts in innovation. They work with millions of records in a single solution for The CFE Fund. The technology they choose must be robust enough to handle financial data at a large scale, at all times. Using MirrorSync allowed them to continue building the best possible, most reliable technology solutions for their clientele. “MirrorSync was a lifesaver! We have been using it for about a year now syncing a few million records and 10 tables. It is nearly bulletproof, Chris reports. ”It allows us to get our hands into the data in ways you normally cannot when working with nonprofits. With MirrorSync being bulletproof, we don't have to worry about the syncing, we can step back and treat the application as one: Salesforce and FileMaker.” --- Contact 360Works for questions or a free 14-day trial of MirrorSync's FileMaker and Salesforce (SQL database) configuration at plugins@360works.com Visit the MirrorSync product page!
  13. Hello, You shouldn't need to disconnect and reconnect. I was able to set up a nested loop and delete messages in batches without an issue. Are you getting any errors? Perhaps your outer loop isn't getting to the second iteration? On a side note, is there an interface for this mail server? Either something like Apple Mail or web based client like Gmail? I ask because it may be faster and easier to use the interface to delete over a script.
  14. Thanks, Wim! Your assumption is correct, I'm using referenced containers in an effort to control the file size of the database. I tried to create a button to activate that step, but it looks like that function only works in v18, while I'm stuck with v17 for now. Previously I was using v13 with this calculation field: (If (IsEmpty(QT_movie) ; "Missing" ; "")). It worked well as I could easily isolate the quicktimes I needed to import or re-import if the link became broken. I've now put the quicktimes into their own table, so it's easy to batch delete and re-import a set of quicktimes when needed. Although I wouldn't have to pull them all offline if I could find a way to easily isolate the missing quicktimes again. Do you have a v17 option? Thanks again for your input!
  15. Hi all Our server decided to shutdown just now due to windows updates. Here is the FMS log: 2019-12-11 17:18:45.641 +0000 Information 745 FM Stopping FileMaker Server processes... 2019-12-11 17:18:45.675 +0000 Information 704 FM Stopping Database Server process... 2019-12-11 17:18:45.704 +0000 Information 488 FM Stopping Database Server... 2019-12-11 17:18:45.734 +0000 Information 410 FM Stopping FileMaker Database Engine... 2019-12-11 17:18:45.770 +0000 Information 140 FM Closing database "BS"... 2019-12-11 17:18:45.778 +0000 Information 140 FM Closing database "Case_Feedback"... 2019-12-11 17:18:45.778 +0000 Information 140 FM Closing database "ML"... 2019-12-11 17:18:45.778 +0000 Information 140 FM Closing database "ML_Correspondence"... 2019-12-11 17:18:45.874 +0000 Information 168 FM Database "BS" closed. 2019-12-11 17:18:45.994 +0000 Information 168 FM Database "Case_Feedback" closed. 2019-12-11 17:20:34.367 +0000 Information 743 FM Starting FileMaker Server processes... As you can see it did not close the last two databases in time. As such, I've just had to wait 30 minutes for one of those two to finish 'checking'. It has now succesfully opened however and we can access it. Obviously we need to disable such automatic Windows shutdowns. But is there another safety net I can put in place to ensure that no shutdown procedure can complete until all FMS services have stopped? And that FMS services cannot stop until all databases have successfully closed? Thanks!
  16. My FMP pro 15 doesn't allow to import ".avi" and ".mkv" files. The error is the files are not the specified file type How to do so?
  17. I'm assuming that you are using referenced containers (where the content has been inserted by reference only - as opposed to an embedded or remote container type of content)? If so you can use the "Get File Exists" script step and give the last line of the container value, which is the path to the file. I wouldn't try to find a calculated field way of doing this, a script will do just fine and can produce a found set of records that you need to look at.
  18. Hello; I'm using this function in the Access see attached, so how can I resolve it;
  19. Just as an FYI, you don't need a plugin to write to a text file. The FM file script steps can do that for you.
  20. Thanks @IdealData I'm just going to dump the data though, possibly convert to JSON within FM first, from a number of databases same format, all with script workspace disabled. I dont think making a relationship will speed up dumping the data. I'm not doing report, just going to write to text file. I'm changing delimiters as there are commas and return characters in the actual data, so text file anyway. the focus of my question is really about data dumping speed.
  21. Thanks everyone! I've been successful in setting up a FM peer-to-peer file sharing option on our private network using the FMP client instead of the server. The solution was to use version v17 (I noticed it was provided with v18 with the development license), I was able to install it on our older Macs without any issues. However, I did get security warnings when I connected the other clients saying the connection wasn't secure. Considering we're working behind a secure firewall I don't think this is a concern... or should I? Also, while I was searching for a solution I purchased my own domain with a CloudFlare SSL certificate. Eventually I'd like to move the database to my own domain and host it for iPhone/iPad apps outside of our local network. But the hosting service that comes with my domain is only set up for MySQL databases - and I understand migrating FMP tables to MySQL is a bit of a nightmare (at least for my limited skills). I'm wondering if anyone can point me towards information on how to set up my FMP database on my own domain - does anyone have any experience with this?
  22. So, now you know how to add TOs to your file then why not establish a relationship to it? Relationships can be sorted, so you can get a reverse sorted table to access the end of the table first. AFAIK FM relationships can be cached, however SQL is never cached. The report to XLSX is fairly slow, try CSV instead.
  23. I know I'm replying to a post nearly 5 years old, but I'm looking for a solution to this problem as well. IsEmpty(field) doesn't recognize when a link to a file is broken in a container field. I'd like another field to calculate when thumbnail images and/or quicktime videos go missing so I don't have to scan through the table for gaps. Does anyone know how to do this?
  24. Thanks again @Wim Decorte not sure if I did this exactly correct, but I tried timings on SQL Select of 5,000 rows of same (large) table using the native ExecuteSQL() function, without opening the external file first, versus the BE_FileMakerSQL() function, where I need to Open File script step first, and got 206.8 seconds vs. 300.3 seconds, ie about 30% faster. Just in case anyone can be bothered to look(!) I enclose the code I used, this 30% gain may not be worth it for what I'm doing. FYI this is selecting all fields of this table, and the SQL select string for first 1000 rows was 40,257,300 characters from FM Length() function. I'm not going to need the longer fields in the end, but I am just doing trying to do time comparisons now. I also enclose picture of the referenced external table in relationships graph - just checking if I did anything wrong? 🙂 1 - Here is the script where external file is opened, using Base Elements plugin command BE_FileMakerSQL - shows 300.3 seconds for this table: Open File [; "DataContacts11"] Set Variable [$offset; Value:0] Set Variable [$timer1; Value:Get(CurrentTimeUTCMilliseconds)] Loop If [$offset = 0] Set Variable [$offset_string; Value:""] Else Set Variable [$offset_string; Value:" OFFSET " & $offset & " ROWS "] End If Set Variable [$be_activity; Value:BE_FileMakerSQL ( "SELECT * FROM Activity" & $offset_string & "FETCH FIRST 1000 ROWS ONLY" ; "," ; "¶" ; "DataContacts11" )] # To mark progress, create empty file named "offset_" & $offset & "rows.txt" Set Variable [$progress_file; Value:BE_WriteTextToFile ( "C:\FileMaker_Script_Testing\FM_SQL_Select_Progress\offset_" & $offset & "rows.txt" ; "" )] Set Variable [$offset; Value:$offset + 1000] Exit Loop If [$offset > 5000] End Loop Set Variable [$time_seconds; Value:(Get ( CurrentTimeUTCMilliseconds ) - $timer1) / 1000] Show Custom Dialog ["Time in Seconds"; $time_seconds] Exit Script [] 2 - Here is the script using native ExecuteSQL() where file is not opened, ie restarting FileMaker and running this script first, gives 206.8 seconds: Set Variable [$offset; Value:0] Set Variable [$timer1; Value:Get(CurrentTimeUTCMilliseconds)] Loop If [$offset = 0] Set Variable [$offset_string; Value:""] Else Set Variable [$offset_string; Value:" OFFSET " & $offset & " ROWS "] End If Set Variable [$sql_activity_select; Value:"SELECT * FROM Activity" & $offset_string & "FETCH FIRST 1000 ROWS ONLY"] Set Variable [$activity_data; Value:ExecuteSQL ( $sql_activity_select; ","; "¶" )] #create empty file named "offset_" & $offset & "rows.txt" Set Variable [$progress_file; Value:BE_WriteTextToFile ( "C:\FileMaker_Script_Testing\FM_SQL_Select_Progress\offset_" & $offset & "rows.txt" ; "" )] Set Variable [$offset; Value:$offset + 1000] Exit Loop If [$offset > 5000] End Loop Set Variable [$time_seconds; Value:(Get ( CurrentTimeUTCMilliseconds ) - $timer1) / 1000] Show Custom Dialog ["Time in Seconds"; $time_seconds] Exit Script [] Thanks any comments.
  25. Keep in mind, only you know all the terms and minutia of your database. For others looking at it cold, it's very confusing. I kind of understand what you are trying to accomplish, and that seems like it could be sort of straight forward. For me, quicker way to help would be a copy or sample database. Seems like you have way to many TO's, some probably unneeded as you could most likely cover some of these tasks with filtered relationships or filtered portals. You can also clean up your graph to show just the TO's, and the fields that connect them, and collapse the rest for easier readability. And you can group them by color too. All the TO's starting with PER and GUE are suspect, and what's a Guest, and how are they important to the overall scheme of things. In general, it's just a matter of figuring out what TO you want to start with (standing on) and connecting to the proper child TO to view the related records, in its easiest form, in a portal. I'm also curious about the Countries TO's. If needed for reporting, can probably accomplish more simply with scripted finds. Overall it's a very complicated database, or you made it that way. Which can easily happen. It's not too hard to run amok with adding more and more TO's or TOG's and going 'too far down the rabbit hole', so to speak, just to try to accomplish each new task you want to add. Sometimes a re-build could be in order, then transfer (import) the data into the new one. Also, it's helpful to amend your profile for FM version, and Operating system/version.
  26. Basically the button would start a script that would go to that related record in a new card window. If the button is in a blank row, it would grab the primary id of the layout (in a variable), open the card window, new record, set foreign key to primary key variable. Only allow the user to commit via a Save button, or allow the user to cancel (delete record for new record, or undo changes for existing record), commit, close window, maybe refresh first layout or portal.
  1. Load more activity
  • Create New...

Important Information

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