March 23, 200124 yr short and sweet, what i do: calculated fields everything in the status area can be recreated. jeremy
March 24, 200124 yr I've always had the train of thought that the status area isn't something that's generally left available to the user. Maybe it's that whole custom application look vrs. a FileMaker solution look. Recently a customer is asking to be able to see info that you would normally see in the status area in browse mode on a couple of layouts. ie: number of found, total count and current record number of found set. This solution is supposed to be an "off the shelf product" but, you know, NOT. What do you guys/gals normally do for the status area info. Should I give them access to the status area or create calculated fields?
April 17, 200124 yr Definitely use calculated fields. You'll save lots of screen real estate and it will look much nicer. Cael.
May 17, 200124 yr Hi I use the Status() functions to recreate each of the values in the status area (eg Status(CurrentFoundCount) will return the number of records currently found)... there are similar functions for all the others, even one for sort status but you will need to convert the returned number to a text value to be of any use. I then put these calculated values into merge fields on the layouts. The trick is the go to the storage dialog in the calculation and ensure that the results are 'unstored'... that way they will update when there is a change. Regards [ May 16, 2001: Message edited by: amccallum ]
May 17, 200124 yr I also add a duplicate layout as a "Find" layout, where an "Omit" field has been added. I'll leave the pesky details to your imagination.
June 1, 200124 yr Take a screen capture of the Record (Rolodex [tm]) area. Edit it in Photoshop or similar and make your own status area. Use calc field below to add record number or/and other info. Then make a scrip to lock the 'real' status area. This will save you screen space and give you more control of what info the user gets/sees. To make it look more authentic, add the tiny lines of text you see on the real one, in calculated fields. When these are 'clicked' on the next or previous record will display. Hope this summary of ideas helps. Cheers, Bill
September 13, 200124 yr Absolutely excellent tips - but what about replicating the function of going to the record number via the editable "field" that is now the Status (CurrentRecordNumber) calculation?
September 30, 200124 yr This may work for you. It is not completely "elegant" as the cursor flashes while it waits, but it's kind of nifty otherwise. Create a global field (in this case "Global Pointer") and put it on top of your calculated Status(CurrentRecordNumber) field, which I have called "This Record". Give "This Record" the "do not allow entry" option. Now make the global field a button and give it the following script: Set Field ["Global Pointer", "This Record"] Go to Field [select/Perform, "Global Pointer"] Loop Exit Loop If [(Global Pointer !=This Record) or (Status(CurrentFieldName) != "Global Pointer")] Pause/Resume Script ["0:00:01"] End Loop Go to Record/Request/Page ["Global Pointer"] Set Field ["Global Pointer", """"] Go to Field [] When you enter the global field, the script enters a loop and waits for you either to change the value or to leave the field, upon which it goes to the record specified by the new value and ends. I use this technique from time to time to allow "quick access" to records in a lot of situations. It doesn't require you to "enter" or "return" to activate the result. (Others may not like that.) If you bail on the field, the script also quits. Hope this helps. Charlie
September 30, 200124 yr This may work for you. It is not completely "elegant" as the cursor flashes while it waits, but it's kind of nifty otherwise. Create a global field (in this case "Global Pointer") and put it on top of your calculated Status(CurrentRecordNumber) field, which I have called "This Record". Give "This Record" the "do not allow entry" option. Now make the global field a button and give it the following script: Set Field ["Global Pointer", "This Record"] Go to Field [select/Perform, "Global Pointer"] Loop Exit Loop If [(Global Pointer !=This Record) or (Status(CurrentFieldName) != "Global Pointer")] Pause/Resume Script ["0:00:01"] End Loop Go to Record/Request/Page ["Global Pointer"] Set Field ["Global Pointer", """"] Go to Field [] When you enter the global field, the script enters a loop and waits for you either to change the value or to leave the field, upon which it goes to the record specified by the new value and ends. I use this technique from time to time to allow "quick access" to records in a lot of situations. It doesn't require you to "enter" or "return" to activate the result. (Others may not like that.) If you bail on the field, the script also quits. Hope this helps. Charlie PS: It appears that when I post this message "does not equal" turns into !=.
Create an account or sign in to comment