Microsoft Access – Table Fields or Table Columns, Which Is It?

I recently saw a post in an Access forum get sidetracked into a discussion/argument regarding whether Access has table Fields or Columns?

It amused me and thought I’d make a brief post about it.

Other RDMS’

Now, if you have experience with pretty much any other database, tables are comprised of Columns (SQL Server/Azure, MySQL, PostgreSQL, ORACLE, …):

so on, and so forth.  I do not believe I have ever seen the word Field mention documentation relating to other RDMS.

Microsoft Access

So based on the above, it is pretty clear that they are called table Columns!

WRONG!!!

Microsoft & Access had to go against the grain and adopted the term Field:

Every table in Access is made up of fields.Microsoft

Pretty clear and concise I think.

Moreover:

  • Microsoft clearly refers to them as Fields in the support documentation
  • All the DAO coding refers to fields (CreateField, Field, Field2, FieldSize, …)
  • In the table designer it is entitled ‘Field Name’ and fields have a ‘Field Size’ property
  • etc, etc, etc

The real question is: “Why did Microsoft go with the term Field when the rest of the world calls them Columns?”

Now, Let’s Muddy The Waters

So they’re Fields, right?

I’m not so sure because SQL documentation uses the term ‘COLUMN‘, actually the term ‘COLUMN field’ as if Microsoft is trying to make everyone happy now, or perhaps they are confused themselves and don’t know what to call it anymore.

ALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index] | ALTER COLUMN field type[(size)] | CONSTRAINT multifieldindex} | DROP {COLUMN field I CONSTRAINT indexname} }Microsoft

Furthermore, Access has

  • Calculated Columns

    and in their documentation they use both terms (field & column)!

  • Column History‘, ‘Show column history …
  • etc…

 

So Which Is Correct Then?

Clearly both are acceptable as Microsoft themselves can’t even keep the terminology straight!  We see both terms used throughout various documentation resources, within the application itself, …

So either term is just fine.  Case and point:

… column (or field) …Microsoft

To me they are interchangeable and I pick the term I use based on my audience.

In most instances, Columns make more sense.  Heck, even Excel calls them rows and columns and for most mere mortals that’s the extent of their ‘database’ knowledge.  Simply put, I think Columns are more universally understood by most people.  That said, when dealing with fellow Access developers, sure Fields might be the more familiar term to use, but Column should be fully understood as well when referring to tables.

We’re in a situation of “6 of one, half a dozen of the other”, in which both are perfectly acceptable (for Microsoft Access).

And yes, you will always have those few people that will insist on arguing about using the term Field vs. Column depending on their background.

 

Does It Actually Matter?

At the end of the day, does it even matter? Absolutely Not! Field, Column it means the exact same thing.  Take your pick.

So know that no matter which you believe to be right, you are correct in that belief!

Move along people, nothing to see here!

4 responses on “Microsoft Access – Table Fields or Table Columns, Which Is It?

  1. Richard Rost

    I teach both Access and Excel and I try to drive it home to my beginner students especially that Excel uses columns and Access uses fields because they need to learn that differentiation between how the different applications act while they’re learning how to build databases. A lot of people come from Excel expecting that they can just type anything they want anywhere in a column and as we all know Access has very strict rules for what you can put in a field. That’s the only reason I’m a little anal about making sure my students call them fields in Access and columns in Excel. But for the rest of us developers, yeah it doesn’t make a difference. My pet peeve is people calling combo boxes “drop downs.” I don’t know why, but I hate that. They do drop down, and they are boxes so I don’t know why it bothers me so much. Lol

    1. Daniel Pineault Post author

      Access uses fields

      but is that true? As you can see, even in the official documentation both are used, so neither is right, or wrong.

      calling combo boxes “drop downs.”

      I thinking that comes from drop-down menus, I guess a web thing maybe. I don’t know, I gloss over almost all of this stuff, all I care about is that you understand me, not which words I employ. Others view using the correct terms as critical, and I do understand the viewpoint, but it’s never been my focus. That said, I will point out the correct terms to people, but won’t sidetrack threads about it or not answer their questions.

  2. Sava Rajkov

    I think that you have to go back in time.

    In 1969 and 1970 E. F. Codd proposed the relational model, which became the base for later development of various relational databases and RDBMS. “Most relational databases use the SQL data definition and query language.” SQL standard uses the term “column”. That’s why almost all RDBMS use the term column, including Access as RDBMS. Access DAO is something else. More about DAO later.

    During 1980s there was dBase III (and dBase-like variations such Clipper, FoxBase, FoxPro), which used the term “field”. The term “field” actually originate from predecessor products such as JPLDIS (Jet Propulsion Laboratory Display Information System) and RETRIEVE (in the late 1960s). dBase-like products were very popular. Maybe that is the origin for Access DAO “field” terminology.

    We also have object-oriented programming languages, and they usually use the term “attribute”. Also of note are newer object-oriented databases and object–relational databases.

    In 1976 Peter Chen wrote about entity–relationship model, and used the term “attribute”. “Entities and relationships can both have attributes. Examples: an employee entity might have a Social Security Number (SSN) attribute, while a proved relationship may have a date attribute.”.

    During 1980s I learned about “attributes” in school, and at the same time I used “fields” in FoxBase and columns in early version of Oracle. I do not remember how we call it in Cobol programs at that time.

    All this leads to the conclusion that in practice these three terms are mutually interchangeable.

    I hope that this helps a little.

    P.S. Thanks for nice articles.

    1. Daniel Pineault Post author

      The ‘field’ terminology isn’t just a DAO thing. It’s more than just a VBA programming thing. It is in the general documentation and part of the main GUI (look at the table designer), but then so is Column. That was point I was making.

      Oh now you’ve done it, now you want to bring Entity/Attributes into the discussion! 🙂 Very common terminology, just not in the Access world, but every developer should know and understand it. It is also commonly used in Web development.

      …these three terms are mutually interchangeable.

      Glad to see you agree. That makes 1 person.