VBA code to change registry value of existing DSN




I need VBA code to change the DBQ string in an existing DSN.

I am getting external data into Excel through a third party ODBC driver,
and would like to emulate a DSN-less connection to the data by simply
changing the DBQ string of an existing DSN. It's not really DSN-less,
but the user will never know, and it would allow the user to get to
external data residing in different folders without the mess of creating

I have accomplished the DBQ string change manually using regedit, and
successfully brought data into Excel from different folders using the
same DSN.

I want to pass the DBQ string (path) from a variable that captures the
string from the user's choice of filename through the GetOpenFileName
dialog. I already have this piece complete.

The DSN is: AnyEstimate-DoNotDelete

Current DBQ string is: K:\Proposal\123.0403\ESTIMATR

I am looking for a short, neat solution that will pass a different
string from a VBA variable to the registry.

Any help is much appreciated. Thanks in advance.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question