July 8, 200421 yr I don't know if anyone has tried this before, but I'll throw it out there... In my never-ending quest to save layout space, it hit me that I could really squeeze a lot more on a layout if I could only do away with pesky labels. This is so basic I can't believe I didn't think of it before. I create a calculation label_FieldA = case(isempty(FieldA),"Field A") On the layout I then place label_FieldA directly on top of FieldA as a merge field. I center it and make the text light grey. So if the field is empty the user sees the label. Once it is filled in, it is obvious what the text is. (I'd only use this in cases where it really is obvious what the data is. For example, I wouldn't use it for a group of phone numbers where you can't tell the difference between a home phone and a cell phone just by looking at it.) An example is attached. If you think this is crazy let me know, because it will take a long time to set up all those calcs, and I'd rather let the reasonalble folks who populate this forum stop me now... FieldLabelExample.zip
July 8, 200421 yr Hi Dan, You are not crazy at all. I have used this also in vs. 7. But I handle it in Custom Functions. You don't need merge field, just stack your calc over your regular field (with transparent fill) If(IsEmpty(First); TextColor("First Name"; RGB(205;0;0))) I love 7 for it's new ability to manipulate text attributes!
July 8, 200421 yr I see you have Developer 7 so I should give the Custom Function option. It makes things so much easier. Custom Function Name: FieldLabel Parameters: field and text If(IsEmpty(field); TextColor(text; RGB(205;0;0))) Then the FirstNameLabel calc would be: FieldLabel ( First; "First Name" ) You can use the numeric equiv for the RGB and also adjust the Custom Function so you can specify different colors but I haven't had time to fine-tune this yet - I've just been using it instead. I prefer your grey look! And ... best of all ... once it's defined as a Custom Function, you can use it throughout your solution. And if you change your Custom Function, you only have one place to change it. I have also used this as an Auto-Enter on the field (with unclicked 'Do Not Replace Existing Value.' It's okay sometimes - it saves having an extra calculation, but keep in mind that your data will then contain the words 'Address1' etc. In some things, this would be fine - in others it could be a problem. I love being able to eliminate an additional field (the calc) but I didn't like it appearing in popups! If a field is empty (of data), I want to find it by it being empty - not containing non-data words. It works well on fields such as Notes, Comments, etc.
July 8, 200421 yr Author Good deal. Two reasons I went with the merge field: 1) I don't have to go through the added steps of making sure the field can be entered in browse or find (imagine the confusion!) and merge fields apparently cause less screen flash. Thanks for the input! Dan
July 8, 200421 yr Dan, I had heard that before ... about merge fields not causing as much flash. Maybe it's platform-specific because in Windows XP, the opposite appears to be true. I had tested it before, and just re-tested using FM7v2. Placed a Merge and a calc. Set both to format 'Do Not Allow Entry' in Find or Browse. Create 20 or so records and, using the Status Area, arrow quickly through the records. The merge flashes. The calc does not. As for having to unclick the format properties - I just do it to one field; then duplicate the field and double-click (Specify Field) the new calc name - very quick. And thanks for the idea on the color change! I'm already making the changes and it looks much better. Update: I just ran another test. There is nothing on this layout or in this file. Only two fields on the layout. Now this time ... I swear the calc flashed more. Repeated test ... I can't tell the difference at all. Must be time for bed.
July 8, 200421 yr Author Hey. Posted my reply before I saw your second response. I set it up as a CF. Really nice! Makes it easy to set the color (128, 128, 128 seems about right for this. Change it on one place. Cool.) Easy to create the calcs too! Will still put them on the layout as merge fields for reasons cited above. Thanks again, Dan
July 9, 200421 yr The point is that you guys came up with a simple and elegant solution. It makes my lo-tech trick of rotating text sideways 270
July 9, 200421 yr I just wanted to be sure Dan saw this post, as he was my inspiration for it. Global calculation repetitions LaRetta
July 14, 200421 yr Author Hey LaRetta! Wow! I guess I really started something there. I haven't taken the time to really follow the thread and the downloads, but I'd love to know if you get a really good way to simplify the implementation of this process, because it really does require the creation of a lot of calcs. Thanks, and good luck, Dan
July 14, 200421 yr Hi Dan You should take a look at the demo files then. Queue has graciously improved my process which already was a huge time-saver - only ONE calculation for it all! It's a much easier way to go Dan! Who would ever think one repeating field (calculation) could replace multiple calculations? And it's so simple! I even included instructions with my demo so that brand-new people could do it. Very quick to implement. I hadn't responded yet because I am planning to incorporate this in Preferences so Management can manipulate the calculation in Browse Mode (using Evaluate on text fields which will contain the calculations); and I'm also incorporating field backgrounds so field background can be changed (and background color determined by Managment also) on the fly, depending upon different criteria. And I plan to incorporate Custom Function to wrap it so it can be universal for all tables. I will also be including a Messaging portion - again so Management has more control without my having to break into Design every time they change something. My demo is simple but requires hard-coding the fields into the one calc. Queue has turned it dynamic by using a Developer layout in which you just drop all fields. Mine updates instantly upon record creation, while Queue's requires script for new record creation. Well worth the look, I think. LaRetta
Create an account or sign in to comment