Retrieve the column names of a table and display them as a list on a form

I would like to create a search engine on my access DB, first thing i wanna to do is to read the column names from a table into a combo box list on a form (so that user can choose which attribute they would like to choose)

How could I achieve that?

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.

jadedataMS Access Systems CreatorCommented:
Hey rickypk!

Put this in the debug window and press return (modify the tablename)

  for x = 0 to dbengine(0)(0).tabledefs("tablename").fields.count-1:debug.print dbengine(0)(0).tabledefs("tablename").fields(x).name: next x

It will list the fields for your table.  Copy them into a text document.

Here is a sample database that will give you the details of all linked tables in a database.

I use this for creating data element dictionaries but is will giv you a list of all fields in all tables.

To use it
Open it and then link all of your tables in your database to it.

Change Query1 's connection properties <sql Server only>

Run tkbMakeModelACCESS for access databases
Run tkbMakeModelSQLSERVER for SQL Server databases
rickypkAuthor Commented:
Hi Jack,

Thanks for your advice, but I wanna the column names to be displayed in a list which is contained in a form... instead of creating a text doc.

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.

rickypkAuthor Commented:
Hi thorkyl

I m trying on your DB, but how could I change the connection properties and where should I run those commands (tkbModelAccess..etc). I m new to Access and I dun have a clue....

jadedataMS Access Systems CreatorCommented:
A combobox/listbox can be used to pull a field list from a single table or query.  You could set the rowsourcetype and rowsource to do this.  Short of that you need to "tablize" the field names in your tables to a reference table stored in the front end.  I usually find this is accomplished better by using the loop code provided earlier to read the table at runtime.  It assures that as design changes are made that these changes are encompassed in the list when the user gets there.
rickypkAuthor Commented:
Hey Jack,

So is there any ways that after I create the txt doc, I could turn its value to a list in which the user can choose from a list box?

If so, how? I need to create a interface with a list, so I have to use a list...

If you are not linked to a SQL database dont worry about Query1

then open the module basGetInfo
place the curssor in the function tkbMakeModelACCESS

Hit the F5 key

Then look in the table DATA_MODEL
It will have a list of all of your tables with the fields.
   < this is a denormalized view >
then you can export the table and use it to build you select boxes.


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
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.