Autonumbering in SQL

Question:
I am having to reformat data for addition to a database.

My current struggle involves an identification field for certain records. In the new database it needs to be listed as an incrementing number with a “z” in front of it: for example, “z100.” Does Access allow an autonumber to have another variable in front of it? How do I do this?

If not, how can I add the “z” in an update query after changing records that I’ve autonumbered back to text?

Answer:
Autonumber columns are of datatype (long) integer so you cannot store a character in the column. You could convert the number to a string and add a “z” in your queries like this:SELECT “z”+Ltrim(Str([Test].[ID])) AS Expr1, Test.NameFROM Test;But this might not be your best option because you are adding data in your query that’s not found in the database. Adding another varchar column to the table to hold the “z” has a couple of benefits. First, all the data for each record is found in that record and not in stored procedures or components. Also, if you ever need to prefix records with “x” or “y”, you don’t have to modify any other code. Your queries will also be more efficient because you don’t have to convert the field and add the letter.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: