• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 672
  • Last Modified:

MS Access obtaining Data Source Path

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
dpokerbear
Asked:
dpokerbear
  • 2
  • 2
1 Solution
 
Vadim RappCommented:
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
 
dpokerbearAuthor Commented:
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
 
Vadim RappCommented:
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
 
dpokerbearAuthor Commented:
thanks and sorry for the dalay
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now