This is a tricky situation, that somewhat depends on the structure of your DB. You say that you can have an unlimited number of phone numbers, which leads me to believe that the numbers need to be in their own separate table, FK'ed back to the 'owner' table:
MainTable
*Keyfield
OtherInfo
...
etc etc etc
PhoneNumberTable
*PhoneNumber
*MainTable.KeyField
etc etc etc
So you have a decision - do you store the "preferred" chunk of data at the MainTable level, or the PhoneNumberTable level?
If you store it at the MainTable Level, then you need to either store that phone number up there (duplicated, not a good idea), or store some pointer value that will point to the number in the PhoneNumberTable, which is getting dangerously close to the "dog-chasing-his-tail" syndrome..
So I think it's best to store the tag for the Preferred number at the PhoneNumberTable level.
So now our PhoneNumberTable look like:
PhoneNumberTable
*PhoneNumber
*MainTable.KeyField
Preferred? (Yes/No Boolean)
The problem here is obviously, how do we keep > 1 Phone number from being preferred, and does one number in the set of MY phone numbers HAVE to be set preferred? Two rules there then, that need to be handled.
On a form, an option group of Radio Buttons would seem to be the only direct way of handling this, but you'd need some code behind the change event of the group on your form, and that would only work for data maintenance done with this form.
What you have is an example that illustrates the lack of table-level 'triggers' or other validation rules in Jet. Given the above structure, the slickest code on a form won't help if you open the PhoneNumberTable directly and check every phone number as Preferred=YES...
I'm almost positive that we can come up with a solution to this problem - I'm going to see if I can work something up in the next few hours, and then probably PHV or someone will chime in just as I finsh, with a one-line solution that solves the whold dam' thing..
--------------------------------------
"For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled." - Richard P. Feynman