>Hi Ed,
>
>WOW! Thanks. I wasn't even going to try to format for the Canadian zips yet. My old mask was '99999-9999' and that didn't allow for the alpha in the Canadian zips, so they couldn't enter them. I didn't know the actual format of the Canadian zip anyway - 'til now thanks to you. This does muddy the waters slightly though: not all US zips will have 9 digits, some will be just 5. Hence I can't arbitrarily use the !9!9!9 mask if less then 9 digits. Maybe IF LEN(RTRIM(zip_code)) = 5 OR LEN(RTRIM(zip_code)) = 9 US Format ELSE Canadian format.
>
One obvious approach would be to specify the country or state (which indirectly identifies the country) before entering a postal code, and using the appropriate input mask for that country/state (the abbreviations for Canadian state are unique relative to the US set, so you could carry the country data for the state code, and use that to drive the input.) Other countries have other postal code systems and address formats - the US Post Office has a publication that outlines address formats for non-domestic delivery.
Formatting and sortation by Postal code is an issue, especially with bulk mailings. The use of proper barcoding will help get mail to the destination address in the least amount of time (use of the Zip+4 helps, too) and also can lower the cost per item mailed in various bulk mailing situations - check the USPS DMM (Domestic Mail Manual) for the details.