Tony Toews wrote:
[What about date fields? Do you suggest text fields.]
No, I am not out on some extermist limb. Of course date fields should be
categorized as date fields.
As for my original argument, although I appreciate all of the feedback, we
will have to agree to diagree. I still believe that if you're not going to
perform any calcuations on a field that stores numerals [Phone Number, Zip
Code, etc.], they should be text fields.
Here are some comments from one of the experts in a progam called Alpha Five
that I've used for many years and continue to do such. It's a phenomenal
applicaton and I'm posting the comments I copied form a thread on the Alpha
Forum.
* Numeric fields should be used for any data that is going to be operated on
numerically, where as Character fields are for data that is not.
* An autoincrement field, except for the incrementing part to make a new
key, is not used a a number, but just as a unique key to indicate links
between separate tables.
* Many keys might really be a concatonation of 2 separate autoincrementing
keys, e.g. ABC001,ABC002,ABC003,ABD001,ABD002,ABD003,ABE001,ABE002. These
are used to have autoincrementing within groups as well as incrementing the
groups. While it could be done in two separate keys, since it is being used
as a link, should be in 1 field. This couldn't be done numerically (Well,
not as easily, anyway).
* If you needed to invert a key (essentially to quickly invert the table
entries) and then create an inverted key value to look up a next smaller
record in the table (e.g. using XLOOKUPC ), it is more difficult to do with
a numeric field
* If you want to create a combined index expression for a child database,
sorting by say the link (the autoincrement field from a parent) and combine
it with say, the Item Name to sort the children by link+Name, it is easier to
combine if it's already a character field.
But really, the most important decision is to use the most reliable method
for the particular database program you are using. Auto-incrementing fails
if two records get the same key, and that is the most important aspect.