Sto cercando commenti su come pianificare gli aggiornamenti automatici di un database (.accdb) poiché non mi sento molto a mio agio con il processo che ho impostato.Esecuzione di Microsoft Access come attività pianificata
Attualmente, funziona come segue:
- Utilità di pianificazione chiama un bat
- .bat chiama un vbs
- vbs apre il database e chiama una macro
- La macro chiamate una funzione (Livello VBA)
- la funzione richiama la subroutine aggiornamento
Ritengo che ci siano troppi passaggi e il fatto che siano necessari 2 file esterni (.Bat e .vbs) relativi al database e archiviati nel sistema aumentano il rischio che la procedura si interrompa.
Apparentemente (ma per favore dimmi che ho torto e come posso cambiarlo). Vbs non può chiamare una subroutine ma solo una macro. Identicamente, una macro di accesso non può chiamare una subroutine ma solo una funzione se l'utente si aspetta di entrare nell'ambiente VB del database. Questo è il motivo per cui ho chiamato una funzione (livello VBA) che chiama la subroutine.
Speranza alcuni di voi sanno come accorciare i passi e, infine, ottenere giro del bat e vbs
** (1) ** Il tuo script '.bat' o' .vbs' è qualcosa di più di una singola riga di codice? In caso contrario, probabilmente si potrebbe semplicemente aggiornare l'attività pianificata per eseguire 'MSACCESS.EXE' con i parametri richiesti. ** (2) ** Sì, una Macro in Access può solo richiamare una Funzione, ma probabilmente potresti convertire il Sub in una Funzione che non restituisce nulla (o restituisce un valore arbitrario come 'True'). –
Ho provato a chiamare MSACCESS.EXE dall'Utilità di pianificazione, ma non ho avuto esito positivo e questo è il motivo per cui ho usato il metodo .bat .vbs. Ci riproverò. Suppongo che sia necessario avere un timer in Access che attivi l'aggiornamento ... – ProtoVB
No, si richiama MSACCESS.EXE con l'opzione della riga di comando '-x' e il nome della macro che si desidera eseguire. Dettagli [qui] (http://support.microsoft.com/kb/209207). –