You don't need to worry about the dash being present or absent since the
dash doesn't have any case associated with it.
So basically, you want to show the field converted if the field is all upper
case or all lower case, but if it is mixed case then show the field as is
I think the following should work.
IIF(StrComp(Ucase(Field),Field,0) = 0 OR StrComp(LCase(Field),Field) = 0,
StrConv(Field,3), Field)
StrComp will do a binary compare if the third argument is zero and returns 0
if there is an exact match. So if you force the value to all upper case and
compare it to itself you will get zero if the value is all upper case.
--
John Spencer
Access MVP 2002-2005, 2007
Center for Health Program Development and Management
University of Maryland Baltimore County
..