Hi Mike,
Thanks for this but could you break it down a bit further, also to add to this I want to input a date of birth into one field and output the calculated age into another field.
Cheers
That is exactly what a calculated field in a query does.
I suspect you are not familiar with making queries or fields on a form. If you don't have any books on Access then use Access Help (Or Google) and search on Query and unbound textbox or unbound controls.
Using Bob's more correct version
NewFieldname: DateDiff("yyyy",[DOB],Date())+Int(Format(Date(),"mmdd")<Format([DOB],"mmdd"))
You enter the above on the Field row of the Query Grid (what you see for a new query to be made or opening an existing query in design view)
[DOB] is replaced with the field name you use where you have date of birth entered. NewFieldName is whatever you want to call the new field that will display age.
If your table had 5 fields (including your date of birth field) and you made a Select query that had all 5 of the table field and you added the NewFieldname then when you opened the query it would look just like your table except there would now be 6 fields and you would see the persons age on every record.
If it is done for an unbound text box then this is on a form. An unbound textbox is like a field on a form but unlike a field it does not display data from the underlying table/query. In this case it would display the results of the formula and so you would see the persons age on the form.
With something like Age it is best not to actually store the figure and one big reason being that age changes. When Age is done as a calculation then the number will automatically change as the person has a birthday.
If for some reason you wanted to store the age value then you would add a field to your table and do an Update Query. An Update query would basically do what copy and paste would do, that is, place all the ages in the calculated field into the new field in the table.