Bonjour, je dois ouvrir un fichier Access qui est protégé par un nom d'utilisateur et un mot de passe. Par la suite, je dois exporter des informations de la base de données dans un fichier Excel pour ensuite fermer la base de données. Cette opération se fait présentement de façon manuelle tous les lundis matin. Pour être sur que la personne en charge ne l'oubli pas, on m'a assigné la demande d'automatiser ce traitement. Cependant, j'ai quelques difficultés:
Voiçi le code de mon fichier vbs:
Voiçi le code de exportQuery:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Option Explicit Dim objAccess, objShell Dim strPathToMDB Dim workgroup Dim user, password, application strPathToMDB = "C:\maBase.mdb" application = "C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE" Set objShell = CreateObject("WScript.Shell") Set objAccess = CreateObject("Access.Application") workgroup = "C:\maSecurite.MDW" user = "Admin" password = "pwdAdmin" objShell.run Chr(34) & application & Chr(34) & " " & Chr(34) & strPathToMDB & Chr(34) & " /nostartup /user " & Chr(34) & user & Chr(34) & _ " /pwd " & Chr(34) & password & Chr(34) & " /wrkgrp " & Chr(34) & workgroup & Chr(34) Set objAccess = GetObject(,"Access.Application") objAccess.OpenCurrentDatabase(strPathToMDB) objAccess.Run "exportQuery" objAccess.closeCurrentDataBase objAccess.Quit Set objAccess =Nothing
Quand j'exécute ce script en local, ça fonctionne. Cependant quand j'exécute ce script sur un serveur, ça plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub exportQuery() DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "qryExport", "C:\qryBase.XLS", True End Sub
La base de données s'ouvre, et après je reçois le message suivant:
Erreur :"Impossible d'ouvrir la base de données parce que celle-ci est manquante, ou a été ouverte par un autre utilisateur en mode exclusif."
Code : 800A1EBA
La base de données existe puisqu'elle s'ouvre et n'a pas été ouverte par un autre utilisateur en mode exclusif.
Alors ma question est pourquoi ce script fonctionne en local et pas en réseau? Et comment règler le problème?
Merci
Partager