Using "Select * INTO" and original table field captions carryover.

    Should be an easy one. When you use a "SELECT * INTO ..." statement to create a new table, why dont the original table field captions carryover to the new table (they differ from the field names due to spaces making the forms more understandable)??

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I believe that the answer lies in the fact that SQL is the standardized way of manipulating data, and while it can create a table, the commands are quite limited in standard SQL.  The caption field property is an MS Access property, not "standard."
I think the answer lies in copying and pasting the Access object, rather than moving the data via SQL.  The approach is probably to be found in a VBA reference somewhere.  I will try and find an actual code snippet for you.


Leigh PurvisDatabase DeveloperCommented:
Yeah it's pretty standard type code to loop through and set the properties you want.

For example to just view one

Debug.Print currentdb.TableDefs("TableName").Fields("FieldName").Properties("Caption")

You could set them the same way
Loop through the fields of the old table - setting the captions in the newly created one.

The only thing to be aware of is that the Caption property doesn't exist when the field has no caption - so you'll be creating the property for each field.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Okay, I found something that works in VBA.  The standard approach is to use the DoCmd.CopyObject method.  The sample below copies the Employees table in Northwind, making a backup copy (in the same database) as BUEmployees.  It could also make a copy of the table in another database by specifying the other database name as the first parameter (see the help for CopyObject from any code module).
I used two procedures, one calling the other, and passing it the table name to be copied:
Public Sub CopyTable(strTableName As String)
DoCmd.CopyObject , "BU" & strTableName, acTable, strTableName

End Sub

Public Sub TEST()
Dim strTableName As String
strTableName = "Employees"
Call CopyTable(strTableName)

End Sub


Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

    The backup copy of the table which is created using the DoCmd.CopyObject method carries over ALL properties, including the caption property.

DieszelDawgAuthor Commented:
Tim and LPurvis,
    Makes sense ... I forgot ny own rule about viewing everything I do in Access as VB and SQL, not just one or the other.
DieszelDawgAuthor Commented:
Tim and LPurvis,
     Im doubling and splitting the points.... When I asked the question I should have the the WHERE claus, which looking back is why I didnt go the COPYOBJECT route.... I didnt want the whole table recreated, just certain catagories with possible appends of other catagories later. LPurvis, I'll give it a try your way... Thanks both.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.