Problems opening Access database from Excel VBA

J

Jan

I try to open an Access database from Excel using the following code:

Sub OpenDatabase()

strdb = "c:\demo.mdb"
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase strdb
appAccess.DoCmd.OpenForm "frmsysteminformation"
Set appAccess = Nothing

End Sub

This shows the form OK, but not the Access window. When I close the form it
disappears, but leaves theAccess application running in Background.

How can I open a databae in the database window and gain access, not only to
the form, but to the full Access, that is Databasewindow and all?

Jan
 
G

Guest

You need to set the visible property to true
appAccess.visible = true
before you set it to nothing.
 
J

Jan Karel Pieterse

Hi Jan,

Change your code to:

Sub OpenDatabase()

strdb = "c:\demo.mdb"
Set appAccess = CreateObject("Access.Application")
appAccess.Visible=True
appAccess.OpenCurrentDatabase strdb
appAccess.DoCmd.OpenForm "frmsysteminformation"
Set appAccess = Nothing

End Sub
Sub OpenDatabase()

strdb = "c:\demo.mdb"
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase strdb
appAccess.DoCmd.OpenForm "frmsysteminformation"
Set appAccess = Nothing

End Sub

This shows the form OK, but not the Access window. When I close the form it
disappears, but leaves theAccess application running in Background.

How can I open a databae in the database window and gain access, not only to
the form, but to the full Access, that is Databasewindow and all?

Regards,

Jan Karel Pieterse
Excel MVP
www.jkp-ads.com
 
J

Jan

Thank you both. That did the trick :). An couple off additional question:
What if I do not want to open a form, but just want to display the
database window.
If i remove the OpenForm line, Access is started all right, but nothing is
shown.

And can I test if the database is already open before opening it?

Jan
 

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

Top