I am coming to the end of maintenance. My client wanted two features which I have finished up. It is a big system and not well written. So I suspect that it will not be simple to upgrade to v11.0. From what I have experienced just moving my changes to a live system was pain enough. I would have to convert the entire system before my client could start using it again.
I thought that fixing this system would be straightforward because the FMP language is rather simple in concept but so simple that doing anything became very painful. For example, I did a cross-tab feature from scratch. Most commercial systems already have a cross-tab built-in and they are easy to use. Mine worked well but it is not generic and I doubt anyone could figure it out if any changes are needed. I find it difficult to keep straight which table carries which script and have to fuss when passing globals back and forth. This is a highly error prone technique and should not even exist. ----- Original Message ----- From: Timothy Brown To: [email protected] Sent: Wednesday, June 09, 2010 3:49 PM Subject: Re: Cannot programmically enter date range in Find mode Nicholas, I seems like you may be new to using FM. It also seems that you are doing significant work. I would highly recommend moving up to FM11. One reason not to would be that you are maintaining a legacy system. Just my 2 cents. It's probably all it is worth. Tim On Jun 9, 2010, at 3:17 PM, Nicholas Geti wrote: I am using FMP V5.5 The statement: Set Field["ActiveInvoiceDate","DateToText (Start Date) & "..." & DateToText (End Date)"] It generates the string "4/3/0855". I added the Start Date and End Date variables to the layout so I can see that the values have been set up correctly. They contain the correct dates: 3/1/2020 and 3/6/2010 respectively. This used to work but I have no idea why it is stuck on the same strange output value for date. If I manually type the range, I get the correct Find records. I am testing the script containing this line by executing it from the toolbar so that there is no interference from other scripts. Some tests: 1. Within the script set "Start Date" and "End Date" to Today. This gives "8/29/1895" in the ActiveInvoiceDate filter field. 2. Remove the "End Date" parameter. Set Field["ActiveInvoiceDate","DateToText (Today)"] This also gives "8/29/1895" 3. Remove the DateToText function and remove the "End Date" parameter. Set Field["ActiveInvoiceDate","Today"] This gives "6/9/2010" but I get the same found records as in the other cases. 5. Not using the DateToText function; Set Field["ActiveInvoiceDate",""Start Date" &"..."& End Date") gives "6/9/2010" Start Date=Today End Date = Today The second half of the range has been dropped off. 4. Manually typing the range works.
