Script d'automatisation des tâches
Bonjour,
Je souhaiterais créer une tâche planifiée me permettant de gagner un temps précieux dans ma matinée. Je dois effectuer des actions sans valeurs ajoutées et cela prend un certain temps. En gros cela donne :
1° Lancement d'access et création d'une table à partir d'une requête
2° Lancement d'excel et mise à jour de données s'appuyant sur cette table
Je voulais donc automatiser un peu tout ça, histoire de gagner quelques heures (la requête est très longue)
Je me suis lancé dans le VBS, c'est la solution qui m'a paru la plus logique pour piloter access et excel en même temps et le lancer à partir des tâches planifiées windows.
Problème rencontré (j'en ai rencontré pas mal avant de me décider à poster) :
- Impossible de lancer une requête access existante dans une base existante (nom de la requête : "Req", se trouvant dans la base "test.accdb"). C'est très facile quand on passe par le code sql mais le mien est trop imbuvable pour être migré dans le script. Voici le code que j'ai commencé à faire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
'-------------------------Modifs access -----------------------------
Dim oAcc, oBdd
Dim sPathFileAccess
'chemin jusqu'à la BDD
sPathFileAccess = "p:\SCRIPT\test.accdb"
Set oAcc = WScript.CreateObject("Access.Application")
oAcc.Visible = True
'Set oBdd = oAcc.OpenCurrentDatabase("p:\SCRIPT\test.accdb")
'cette ligne ne marchait pas, impossible de comprendre donc j'ai pris une autre méthode
'Methode 2
'Access est ouvert mais la base de donnée n'est pas visible ...
set oBdd=oAcc.DBEngine.Workspaces(0).OpenDatabase(sPathFileAccess)
On Error Resume Next
oAcc.DoCmd.OpenQuery("Req") 'ne marche pas
WScript.Sleep 1000
oAcc.Quit
MsgBox Err.Number
Set oBdd = Nothing
Set oAcc = Nothing
Set WshShell = Nothing |
Si déjà vous pouviez m'aider à régler ça, je commencerais à reprendre espoir ! Les recherches google ne m'ont pas aidées pour ce coup là, a chaque fois, une étape ne marche pas chez moi.
Je me demandais aussi si je ne pouvais pas passer par une macro access mais dans ce cas-là, comment la lancer aussi ?
Merci beaucoup pour votre aide ! Toute proposition pour améliorer mon système est la bienvenue...
PS : Windows Xp et Access 2007 !