Come eseguire più Macro Access da un’applicazione o un altro database

0 Condivisioni

L’esempio sottostante vi dimostra come possiamo eseguire una Macro Access da un’altra applicazione o database usando l’OLE Automation.

Eseguiamo i seguenti passi:

  • creiamo due database Access chiamandoli TestDB.mdb e TestDB2.mdb
  • nel primo database TestDB.mdb creiamo una macro chiamandola TestMsg con la seguente azione: Finestra Messaggio “Test Macro”
  • nel secondo database TestDB2.mdb creiamo un’altra macro chiamandola TestMsg con la seguente azione: Finestra Messaggio: “Test Macro2”
  • nell’applicazione che userete scegliete tra i riferimenti Microsoft Access Object Library (dalla versione 8.0 in poi)

Microsoft Access

Creiamo la seguente Sub:

Sub RunMacroX()
Dim objACC As New Access.Application
Set objACC = GetObject("C:\TestDB.mdb") 'open first database objACC.DoCmd.RunMacro ("TestMsg") 'run macro objACC.Quit Set objACC = GetObject("C:\TestDB2.mdb") 'open second database objACC.DoCmd.RunMacro ("TestMsg") 'run macro objACC.Quit Set objACC = Nothing
End Sub

 

Nel caso in cui otteniate un Errore del genere: “L’azione RunMacro è stata annullata. Errore 2501” o “The RunMacro action was canceled“.

L’errore è dovuto all’esistenza di una dichiarazione di Esci dalla Macro oppure Arresta Macro. Se notate che, anche in presenza dell’errore la macro ha completato la sua attività, potete benissimo usare l’On Error Resume Next a inizio Sub.

Testato su Office 2003 e su Office 2007.

Alla Prox.

Se volete seguire i post di www.informarea.it potete iscrivervi al suo feed RSS.


0 Condivisioni

Fabrizio Cannatelli

Fondatore di Informarea.it, è un appassionato di informatica. Ha lavorato per molti anni come Analista Programmatore presso varie aziende utilizzando diversi linguaggi di sviluppo, oggi svolge un lavoro completamente diverso ma la voglia di comunicare e di condividere con il web i suoi studi e le sue curiosità lo hanno spinto a far nascere questo blog non solo per esprimere e mostrare la passione per questo mondo, ma anche per confrontarsi con nuove esperienze di sviluppo.

Fabrizio Cannatelli

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.