Jump to content


Popular Content

Showing content with the highest reputation since 12/04/2010 in all areas

  1. 2 points
    I would start by defining the Recruiting Event field to validate as Unique. Then make your script: Freeze Window Set Variable [$Source; Value: Person::Source] Go to Layout ["RecruitingList" (Recruiting)] Set Error Capture [ On ] New Record/Request Set Field [Recruiting::Recruiting Event; $Source] Commit Records/Requests If [ Get ( LastError ) = 504 ] Revert Record/Request [ No dialog ] End If Go to Layout [original layout]
  2. 2 points
    The benefit of calculation fields (whether stored or unstored) is that they are declarative rather than imperative — you don't have to do anything for them to update when you change some of the data they are based on; they just happen, like a calculation in a spreadsheet cell. The downside to calculation fields is that they just happen, and you have limited influence over when to incur the computational cost of evaluating them. This is especially a problem with calculations based on data from many related records, which will be slow, and can happen at inconvenient times. A lesser downside is that sometimes they don't just happen, and it can take substantial study and experience to fully understand when they do and don't update. The benefit of calculation by script is that you have much better control over when (and now where, with Perform Script On Server) the computation happens — it happens when you trigger the script. Scripts can also often organize complicated calculations better than fields. The downside is that when users change source data for a calculation, it's up to you to refresh the result; FileMaker doesn't try to handle it for you. Perform Script On Server offers a performance benefit when your calculations are based on source data that the users are not already looking at, so that source data does not have to be transferred over the network to perform the calculation on the client machine. If the users are already looking at the source data on their screens, Perform Script On Server will not necessarily be faster, and may even be slower. Servers are usually higher-powered computers than client machines, but servers also have a lot of other processes on their minds; and communicating with the server happens over a network, which is the slowest bottleneck in the whole application. I don't know enough detail about how the calculations work in your particular solution to be able to suggest what set-up is likely to be fastest. Even if it did, the advice would probably boil down to the same thing anyway: test all the combinations you can think of, and use the one that turns out to be fastest.
  3. 2 points
    Hi Charity, there are a few networking concepts that you can learn that will serve as a foundation to help you better understand what FileMaker may be asking for: 1. When you connect online, you have a modem that connects to a router or an all-in-one modem/router device that manages all your network connections. Your router usually manages both public and private IP addresses. Public IP addresses allow sources outside to connect to your network. Private IP addresses are for devices that are connected within your network. Another term for Private IP Address is Internal IP address. 2. Local network is another name for an internal network. It can be both a mixture of wireless (Wifi) and wired (cat5, cat6, etc). 3. is typically an internal/private IP address. Any network device will have an internal/private IP Address like,, etc. There are many variations depending on the hardware that you use. Manufacturers use different private IP addresses for each device. 4. There are 2 basic types of IP addresses, Static IP and Dynamic IP. Static IP is a designated IP address that doesn't change. Dynamic IP is an IP address that is leased and can change when its lease is up. You will likely have seen the term DHCP. If DHCP is enabled on your router, it will automatically lease or assign an IP address to your network devices. If DHCP is enabled on your network device, it will talk with the router to obtain an IP address lease. 5. If you plan on connecting to the same network device over and over again, such as a server, it is recommended that you setup the server with a static IP address. It can be any IP address within your IP range. An IP range can look like to 6. FileMaker Server can be installed on any compatible computer system as it is a software server. The computer that you install FileMaker Server onto does does not need to be a physical server (Physical servers have server grade hardware that can sometimes run both server OS and applications.) In other words FileMaker Server can be installed on your iMac, Macbook, desktop computer, etc. When people say server it can mean a software server or it can mean a hardware server, it depends on the context.
  4. 2 points
    Rather than performing math on just the Month component, use the complete date, then pick it apart again; e.g. … Let ( [ cd = Get ( CurrentDate ) ; fiveAgo = Date ( Month ( cd ) - 5 ; 1 ; Year ( cd ) ) ] ; Month ( fiveAgo ) & "|" & Year ( fiveAgo ) ) returns (today) "12|2013"
  5. 2 points
    I would suggest = Case ( number < 10^3 ; number ; number < 10^6 ; Round ( number / 10^3 ; 0 ) & "k" ; Let ( n = Round ( number / 10^6 ; 2 ) ; Int ( n ) & SerialIncrement ( ".00" ; 100*Mod ( Abs ( n ) ; 1 ) ) & "M" ) ) The two most significant differences between this and Daniele's method can be seen when number = 1999 (1k vs. 2k) and when number = 1999999 (2M vs. 2.00M).
  6. 2 points
    Try this ( calculation, unstored, NUMBER ) Let ( d = Get ( CurrentDate ) ; Month ( Date ( Month ( d ) + 1 ; 1 ; Year ( d ) ) ) ) With dates, it helps to use real dates so they span the 12-month barrier easier. Oh wait, you can cross the month barrier using Mod() Mod ( Month ( Get ( CurrentDate ) ) ; 12 ) + 1
  7. 2 points
    Hi this is a different approach to the problem. Split Word.zip
  8. 2 points
    Also try: not IsEmpty ( FilterValues ( Portal::property ; Table::LogField ) ) This IsEmpty ( FilterValues ( ... ) ) construction seems to be the de facto standard way to check if a value is in a return-delimited list, but the performance is best when the list you expect to be shorter — such as the one-value Portal::property field, in this case — is the first parameter of the FilterValues function.
  9. 2 points
    Greg, please keep political and religious preferences to yourself. An international forum is not the place. :-)
  10. 2 points
    Yes it does, as matter of principle and to avoid potential performance problems try to create as few TOs and relationships as you can get away with. So question yourself everytime you want to add a relationship or TO and explore alternatives. The FM12 ExecuteSQL function can help reduce the # of TOs and relationships. Also familiarize yourself with the concept of TO hopping to help reduce the number of identical TO groups that are somewhat inherent to the A/B model.
This leaderboard is set to Los Angeles/GMT-07:00
  • Create New...

Important Information

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