Solved

MS Access obtaining Data Source Path

Posted on 2010-11-18
4
663 Views
Last Modified: 2012-06-27
In the code attached, I would like to know how to dynamically specify the Data Source path to which the database is already linked to/

Also, my existing database uses .mdw file which contains list of users and passwords, which are required to log into the database.

For example in this line of code
cnn.Properties("Data Source") = "C:\MDB\Northwind.mdb" << I would like this path to be picked up from the current link.

I would also like to know how to pick up the existing username and password that is currently logged into the database and specify it in the attached code.

For example:
 Set wsDAO = DBEngine.CreateWorkspace("WorkSpace", "Admin", "", dbUseJet) << Where it says Admin, I would like that to be dynamically assigned depending what the current user, as well as the password.

'This sample uses Form level scope for the open DAO database.

'Depending on your application, you may choose Module level.

Private wsDAO As DAO.Workspace

Private dbDAO As DAO.Database



Private Sub Form_Load()

   Dim cnn As ADODB.Connection



  'ADO has the ability to open row-level locking; DAO does not.

  'The following code is used to implement row-level locking in DAO.

  'If the database is opened first in row-level locking in ADO,

  'subsequent attempts to open the database in ADO and DAO will use the same mode.



   Set cnn = New ADODB.Connection

   cnn.Provider = "Microsoft.JET.OLEDB.4.0"

   cnn.Properties("Data Source") = "C:\MDB\Northwind.mdb"

   cnn.Properties("Jet OLEDB:Database Locking Mode") = 1

   cnn.CursorLocation = adUseServer

   cnn.Open



   Set wsDAO = DBEngine.CreateWorkspace("WorkSpace", "Admin", "", dbUseJet)

   Set dbDAO = wsDAO.OpenDatabase("C:\MDB\Northwind.mdb")

   

   'Close the ADODB connection.

   cnn.Close

   Set cnn = Nothing

End Sub

Open in new window

0
Comment
Question by:dpokerbear
  • 2
  • 2
4 Comments
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 34178680
Microsoft article 306435 that you used is about using Access database from Visual Basic using DAO 3.60. What do you mean by "the database is already linked to" and by "the current link"?
0
 

Author Comment

by:dpokerbear
ID: 34185154
when i refer to current link, i am talking about the existing linked path (location of the back end database), which can be obtaine by going to Linked Table Manager.

I just don't know how to obtain this path using VBA code...

and yes, this code is a copy from a MS Article.
0
 
LVL 40

Accepted Solution

by:
Vadim Rapp earned 500 total points
ID: 34185348
For any linked table Linked_Table1, the path of its database can be obtained by this code:

split(currentdb.tabledefs("Linked_Table1").Connect,";DATABASE=")(1)
0
 

Author Closing Comment

by:dpokerbear
ID: 34290613
thanks and sorry for the dalay
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

'Between' is such a common word we rarely think about it but in SQL it has a very specific definition we should be aware of. While most database vendors will have their own unique phrases to describe it (see references at end) the concept in common …
This article describes how to use the timestamp of existing data in a database to allow Tableau to calculate the prior work day instead of relying on case statements or if statements to calculate the days of the week.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now