Schedulazione di una macro

di il
3 risposte

Schedulazione di una macro

Ciao ragazzi

Avrei la necessità di schedulare una macro di access, ma senza l'uso di processi esterni a causa delle varie protezioni presenti nella rete in cui si trova il db. Esiste un modo per la schedulazione di tale macro?

Grazie

3 Risposte

  • Re: Schedulazione di una macro

    La riga di comando è cosi:
    C:\il tuo path di istallazione access\Msaccess.exe" "C:\il tuo path per il db\tuodb.mdb" /x nomemacro

    A questo punto puoi usare lo scheduler di windows (operazioni pianificate) per eseguirlo in maniera automatica.

    Volendo puoi mettere le righe in un file .bat e lanciare quello dallo scheduler.
  • Re: Schedulazione di una macro

    Ciao

    Ho letto tale cosa in internet, ma come dicevo, la rete è protetta (si tratta di una rete bancaria), e chi deve eseguire la macro si trova in un ufficio diverso da dove si trova il database.

    Lo so, è difficile da spiegare e, quindi, da capire l'avevo proposto anch'io al mio collega questa soluzione, ma non è applicabile almeno a detta sua
  • Re: Schedulazione di una macro

    Scomponiamo il problema in 2 parti:
    1) ESECUZIONE MACRO

    Alla base tuttavia è da capire se il PC in cui risiede il FILE MDB ha installato anche Access come SERVER OLE o come CLIENT o se ha solo il file MDB leggibile con JET.

    Se il PC ha il SERVER OLE o CLIENT(Access) installato puoi usare la soluzione di TOKI o questa:

    Per eseguire una Macro di Access, serve aprire il SERVER OLE via Automazione e sfruttare i metodi RUNMACRO membro di Docmd.
    Per farlo si può tranquillamente andare ad usare un file VBS che in LateBinding istanzia con il CREATEOBJECT il Server OLE, a prescindere dalla posizione del PATH di Access come suggeriva TOKI.
    Peraltro il PATH di Access potrebbe non essere sempre quello...
    Access mette a disposizione
    
    SysCmd(acSysCmdAccessDir)
    per ilLateBinding va usato il Valore Esplicito della CONST
    
    Const acSysCmdAccessDir = 9
        Membro di Access.AcSysCmdAction
    Detto questo basterebbe un file BAT che manda in esecuzione il VBS come ha giustamente suggeritop TOKI usando le ScheduledTasks.

    Se il PC non ha il SERVER OLE o CLIENT(Access) installato nè la soluzione di TOKI ne questa sono attuabili, serve accedere al file MDB con un'interfaccia ODBC, ma questa non consente l'esecuzione di MACRO, ma di Query ACTION certamente si...!
    Per accedere via ODBC a JET tuttavia il PC in questione deve essere MAPPATO o avere un IP rintracciabile o fisso... la cosa si complica

    2)Esecuzione da REMOTO.
    Questo è impossibile se non si accede al PC come ADMIN o con un'utente che ha i diritti di farlo...
    In tutti i casi valgono le considerazioni precedenti.
    Ma magari ho capito male.
Devi accedere o registrarti per scrivere nel forum
3 risposte