Rick,
I strongly advocate Mikhail's suggested technique, which is to "edit
this field's behavior and make it to use Return to go to next field",
over the others suggested. In other words, don't even give users the
opportunity to enter multiple lines into that field, or lead them to
believe it's an option. Field validations and auto-entries won't
trigger until after the user has spent possibly significant time
typing multiple values into the field. Unceremoniously denying them
after the fact might not be appreciated. Even worse, the user may not
realize the substitution has been made, moving ahead with their work
assuming the data has been stored. Think of the "use Return to go to
next field" option as a gentle wizard, guiding users through the data-
entry process.
Jeff
On Feb 7, 2011, at 7:33 AM, [email protected] wrote:
Hey Rick,
If you're wanting to keep only the first name they entered, auto-
enter this calc:
GetValue ( Self ; 1 )
If you're wanting to keep only the last name they entered, auto-
enter this calc:
GetValue ( Self ; ValueCount ( Self ) )
Paul
On Feb 7, 2011, at 8:36 AM, Rick O'Quinn wrote:
Thanks to everyone who responded regarding my request for
additional help on keeping a field limited to 1 line. First, I
definitely prefer an auto enter calc solution over a dialog box.
Although the majority of my users are pretty savvy and familiar
with our system, I have a few that use it maybe once every week or
2, and no matter how much training and help I provide, they either
can't or won't remember a thing. And my experiences with dialogs in
general are, nobody really reads the details, they just whack a
button, then I have to clean up the mess. And finally, why ask the
user to do something in 2, 3 or 4 steps that I can do in the
background in 1?
So the Substitute function ( Substitute ( Self ; "Paragraph
Symbol" ; "" )) does work fine for removing any carriage returns.
My bigger question was (and maybe I didn't make it clear) that I
also wanted to remove any additional text the user typed in after
the carriage return. In testing the auto enter, I found that if a
user input:
john (carriage return)
jim (carriage return)
The Substitute auto enter would result in: johnjim
What I want is: john
I also wanted to trap for more than one carriage return with data
typed in so:
john (carriage return)
jim (carriage return)
amy (carriage return)
mark (carriage return)
Did not become" johnjimamymark
This may sound unlikely, but in our older FMP6 solution, ID'ing
multiple people in a photo shoot was done this way.... now the
names reside in a child table of People, entered in the system in a
portal from the parent table.
So that's why I had included the RightWords steps in the substitute
also, to try to remove anything after the first carriage return. If
anyone has a more elegant fix for that, I'm all ears.
Thanks
Rick