Home All Groups Group Topic Archive Search About

Using ".OpenCurrentDatabase" in VB .net to open an MS Access DB

Author
7 Jan 2006 10:49 AM
Paul M
Hello,
    when I execute the code below I get the usual access message:

SECURITY WARNING----------------------------------

Opening "<filepath & name.mdb>"

The file may not be safe if it contains code that was intended
to harm your computer.
Do you want to cancel the operation?

CANCEL            OPEN        MORE INFO

---------------------------------------------------

Private Sub OpenDB(ByVal strMDBFullPath as string)

Dim appDatabase As Access.Application

appDatabase = New Access.Application()
appDatabase.OpenCurrentDatabase(p_strMDBFullPath, True)

....

End Sub

How can I detect if the user presses the CANCEl button? With the code
above if the user presses the CANCEl button the code throws an exception
on the line "appDatabase.OpenCurrentDatabase(p_strMDBFullPath, True)".

The code is VB .net and the database is 2003 but could be 97, 2000 etc.

Thanks in advance

Paul M.

Author
7 Jan 2006 11:00 AM
TC
No to answer your question, but: do you really want to open that
database /in the Access user interface/?  Or do you just want to open
it "behind the scenes", so you can get at the data within it?

If the latter, then, you need OpenDatabase - not OpenCurrentDatabase.

HTH,
TC  [MVP Access]
Author
7 Jan 2006 11:15 AM
Armin Zingler
Show quote Hide quote
"Paul M" <paul@nospam.co.uk> schrieb
> Hello,
> when I execute the code below I get the usual access message:
>
> SECURITY WARNING----------------------------------
>
> Opening "<filepath & name.mdb>"
>
> The file may not be safe if it contains code that was intended
> to harm your computer.
> Do you want to cancel the operation?
>
> CANCEL OPEN MORE INFO
>
> ---------------------------------------------------
>
> Private Sub OpenDB(ByVal strMDBFullPath as string)
>
> Dim appDatabase As Access.Application
>
> appDatabase = New Access.Application()
> appDatabase.OpenCurrentDatabase(p_strMDBFullPath, True)
>
> ...
>
> End Sub
>
> How can I detect if the user presses the CANCEl button? With the code
> above if the user presses the CANCEl button the code throws an exception
> on the line "appDatabase.OpenCurrentDatabase(p_strMDBFullPath, True)".


Catch the exception. See the 'Try' and 'catch' keywords.


Armin
Author
7 Jan 2006 2:05 PM
m.posseth
I wonder what you are trying to do

do you want to retrieve data from the access database ?

if so this is not the way ( you propbaly have set a reference to the office
lib )

normally you access a access database by the oledb namespace

regards

Michel Posseth [MCP]



Show quoteHide quote
"Paul M" <paul@nospam.co.uk> wrote in message
news:dpo6cl$aes$1@newsg3.svr.pol.co.uk...
> Hello,
> when I execute the code below I get the usual access message:
>
> SECURITY WARNING----------------------------------
>
> Opening "<filepath & name.mdb>"
>
> The file may not be safe if it contains code that was intended
> to harm your computer.
> Do you want to cancel the operation?
>
> CANCEL OPEN MORE INFO
>
> ---------------------------------------------------
>
> Private Sub OpenDB(ByVal strMDBFullPath as string)
>
> Dim appDatabase As Access.Application
>
> appDatabase = New Access.Application()
> appDatabase.OpenCurrentDatabase(p_strMDBFullPath, True)
>
> ...
>
> End Sub
>
> How can I detect if the user presses the CANCEl button? With the code
> above if the user presses the CANCEl button the code throws an exception
> on the line "appDatabase.OpenCurrentDatabase(p_strMDBFullPath, True)".
>
> The code is VB .net and the database is 2003 but could be 97, 2000 etc.
>
> Thanks in advance
>
> Paul M.
>
>
>
Author
7 Jan 2006 3:03 PM
Cyril Gupta
Hello Paul,

You have cross-posted to a lot of groups.

Your answer is in your question. When the user presses Cancel you get an
error, so trap the error and use it.

Here's what you can do.

Try
    Your Code
Catch ex as exception
    do something with the exception
End Try

That should solve it for you Paul

Cyril Gupta
Author
13 Jan 2006 1:58 PM
Paul M
Cyril Gupta wrote:
Show quoteHide quote
> Hello Paul,
>
> You have cross-posted to a lot of groups.
>
> Your answer is in your question. When the user presses Cancel you get an
> error, so trap the error and use it.
>
> Here's what you can do.
>
> Try
>     Your Code
> Catch ex as exception
>     do something with the exception
> End Try
>
> That should solve it for you Paul
>
> Cyril Gupta
>
>
Hello Cyril,
        thanks for that, I had already considered that but just wanted a more
elegegant way of doing ie testing a return value, that sort of thing.

Thanks
Paul