I am experiencing the same problem. Did you ever get this resolved?
Use a 2 line script with the following steps. 1. Freeze Window & 2. Exit Script
A buy-product of freezing the window and exiting the script forces filemaker to refresh the screen without a full redraw.
Attach the 2 line script to your OnTimer trigger and see if this helps.
See notes in script step help "Refresh Window step is not needed if it would be the last step in a script. FileMaker Pro automatically turns off Freeze Window and refreshes the display when a script ends. Use Refresh Window to force a window update within a script."
This prevents the screen flashing which can happen on the windows platform when the Refresh Window step is executed.
That's a great tip, I've never seen that before.
One technique I've used is to set up a timer script to refresh the layout periodically.
I've also created a small correlary table in Filemaker that is joined to my SQL data, and make sure that it gets updated any time the SQL data gets updated. This allows me to use Filemakers record locking mechansim to keep track on whether a SQL record is being updated without too much overhead and then redraw if required to fetch the latest data.
I cannot take the credit for the clever scripting. But your mention of the correlary table, sparks a question regarding a problem I am having.
I have four tables ( 1 FM native, 3 MsSql ). Using ESS all is well, except when I try to replicate a field value from the FM table into one of the SQL tables to constrain the data returned thru the relationship to the other 2 SQL tables.
FM table has a report selection date field entered by the user.
Main ESS table is a Job Master table
The other two ESS tables are 1. Posted Invoices and 2. Unposted Invoices
I what the user entered date to filter the invoice tables, showing only invoices issued on or before the date.
FM table > JobMaster ESS > Posted Invoices and Unposted Invoices
Date 2 CreateDate then JobNumber 2 JobNumber and InvDate 2 InvDate
A calculation added to the JobMaster (InvDate) with FM::Date evaluates to null when the report script runs so no invoices are returned, not my desired result.
My problem as I see it is that I cannot populate the date filter against the ESS table making the relationship valid. Would a correlary table be the way to go?
Hope this is clear enough,
Did you manage to resolve this? FileMaker will only show newly created records when it's showing the total records in the table as the current found set. As soon as the found set is smaller than the total records in the table, it will not show any new records added.
This is desirable because you wouldn't want a user's carefully crafted found set to be disrupted by new records added to the table.
I'm not sure from your post if you are showing all records and still not seeing new records added. I've tested this with the Assets starter solution and I see new records appear as soon as they are committed to the database.
Automating Data Ltd.
FileMaker Certified Developer for versions 8, 9, 10 and 11.
FileMaker Business Alliance and FileMaker TechNet Member.
Registered in England no. 4840986.
Registered Address: 7 Waterstone Way, Greenhithe, Kent DA9 9TU.
We are seeing NEW RECORDS. We aren't seeing changes in existing records, however.
It sounds like Tim's idea should do it for you. If for some reason it doesn't solve your problem, you can force a complete screen refresh and still land on your original record (after you test that it's fully committed first) by then scripting:
- Show All
- Omit current record
- Show only Omitted
- Show All
This would dump any sorting order you might have had as well, which may not be desired, but that can be corrected with a sort step.
The net result will be to leave the user on their original selected record, but the entire found set has been updated for a screen refresh. Seems like a long way around to get there, but if all else fails....