Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eseguire una macro o un codice in altro database.

845 views
Skip to first unread message

Arturo

unread,
Jun 9, 2004, 8:39:01 AM6/9/04
to
Come posso far sì che da un database A si possa aprire un database B e fare eseguire a B una macro (o un codice) inerente gli oggetti (tabelle e query) del database B? La macro da eseguire in B non può essere Autoxec.

giorgio rancati

unread,
Jun 9, 2004, 10:40:02 AM6/9/04
to

"Arturo" <Art...@discussions.microsoft.com> ha scritto nel messaggio
news:B8A231BA-6E12-4DEA...@microsoft.com...
> Come posso far sě che da un database A si possa aprire un database B e

fare eseguire a B una macro (o un codice) inerente gli oggetti (tabelle e
query) del >database B? La macro da eseguire in B non puň essere Autoxec.

Ciao,
Puoi usare l'automazione di Access, prendi spunto dall'esempio che trovi nel
thread intitolato "Copia di maschere e moduli" di Filippo Piazza in data di
oggi.

Ciao Giorgio


Arturo

unread,
Jun 10, 2004, 5:22:01 AM6/10/04
to

"giorgio rancati" ha scritto:

> Puoi usare l'automazione di Access, prendi spunto dall'esempio che trovi nel
> thread intitolato "Copia di maschere e moduli" di Filippo Piazza in data di
> oggi.
>
> Ciao Giorgio
>

Avevo provato con questo:

Function Aggiorna()

Dim strDB As String, appAccess as As Object

strDB = "E:\Database\Dat\Libri_XP.mdb"
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase strDB
appAccess.DoCmd.RunMacro "Aggiornamento quotidiano"

End Function

Ma mi risponde:

Errore di run-time '7866'
Impossibile aprire il database. Il database è stato aperto da un altro utente in accesso esclusivo o è mancante.

Invece non è né aperto da altri né mancante, e il percorso è corretto.
Cosa posso fare?

Ciao.

giorgio rancati

unread,
Jun 10, 2004, 5:50:13 AM6/10/04
to

"Arturo" <Art...@discussions.microsoft.com> ha scritto nel messaggio
news:7E060E78-65B7-42FA...@microsoft.com...
>
>
[CUT]

> Avevo provato con questo:
>
> Function Aggiorna()
>
> Dim strDB As String, appAccess as As Object
>
> strDB = "E:\Database\Dat\Libri_XP.mdb"
> Set appAccess = CreateObject("Access.Application")
> appAccess.OpenCurrentDatabase strDB
> appAccess.DoCmd.RunMacro "Aggiornamento quotidiano"
>
> End Function
>
> Ma mi risponde:
>
> Errore di run-time '7866'
> Impossibile aprire il database. Il database è stato aperto da un altro
utente in accesso esclusivo o è mancante.
>
> Invece non è né aperto da altri né mancante, e il percorso è corretto.
> Cosa posso fare?
>

Ciao,
la funzione va bene, visto che non dici dove fa errore tiro a indovinare.
Manca la chiusura e la distruzione del'oggetto, forse per questo la seconda
volta che la esegui di da errore.

aggiungi in fondo queste due righe

------------
appAccess.Quit
Set appAccess=Nothing
-------------

Ciao Giorgio


0 new messages