Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access

VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.

Réponse
 
Outils de la discussion
Vieux 05/09/2008, 10h46   #1 (permalink)
Invité de passage
 
Date d'inscription: juin 2006
Messages: 6
Par défaut macro qui ne marche qu'avec le bureau à distance

Bonjour à tous !

J'ai un souci avec une macro access, qui fonctionne parfaitement quand je la lance depuis mon domicile avec le bureau à distance, mais qui plante dès que je veux la lancer sur machine, au taff .

En gros, dans un répertoire donné (ici, d:\boumediene), j'ai toute une floppée de bases de données qui contiennent une même fonction d'extraction et d'édition de données ("exporter4"). Dans une autre base, j'ai écrit une fonction qui va prendre chacune des bases du dossier "boumediene" et lancer la fonction exporter4. Ca plante sur la l'instruction: "Set db = acApp.CurrentDb", avec le message d'erreur: "La méthode CurrentDb de l'objet Application a échoué"

Ici, le code qui prend toutes les bases du dossier
Code :
 
Sub test()
Dim objFso, objDossier, objFichier
Dim repertoire, nomFichierTxt, chemin
repertoire = "d:\boumediene"
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objDossier = objFso.GetFolder(repertoire)
For Each objFichier In objDossier.Files
    If (InStr(1, objFichier.Name, ".mdb", 1) > 0) Then
        chemin = repertoire & "\" & objFichier.Name
       lanceExporter4 (chemin)
     End If
Next
 
Set objDossier = Nothing
Set objFso = Nothing
End Sub
Là, le code qui lance exporter4
Code :
Public Sub lanceExporter4(chemin As String)
Dim db As Database
Dim acApp As New Access.Application
 
' Démarrer Access
Set acApp = New Access.Application
 
' Ouvrir la base de données concernée
acApp.OpenCurrentDatabase (chemin)
'et c'est ici que ça plante
Set db = acApp.CurrentDb
 
' Exécuter la macro
acApp.Run (exporter4(db))
acApp.CloseCurrentDatabase
 
' Quitter Access
acApp.Quit
Set acApp = Nothing
End Sub
skallagrimson est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/09/2008, 11h10   #2 (permalink)
Membre Expert
 
Date d'inscription: mai 2005
Localisation: IDF - 94
Messages: 1 084
Par défaut

Bonjour,
Citation:
Dim acApp As New Access.Application

' Démarrer Access
Set acApp = New Access.Application

' Ouvrir la base de données concernée
acApp.OpenCurrentDatabase (chemin)
'et c'est ici que ça plante
Set db = acApp.CurrentDb
C'est un peu redondant (du coté des déclarations NEW), isn't it?
__________________
Merci de ne pas m'envoyer de message privé pour des pb techniques
micniv est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/09/2008, 11h48   #3 (permalink)
Invité de passage
 
Date d'inscription: juin 2006
Messages: 6
Par défaut

Yes it was ! J'ai modifié la déclaration, en ne déclarant plus qu'une application (Dim acApp As Application). Mais bof, ça plante quand même au même endroit.
skallagrimson est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/09/2008, 15h25   #4 (permalink)
Invité de passage
 
Date d'inscription: juin 2006
Messages: 6
Par défaut

Ca y est, j'ai trouvé. Pour ceux à qui ce genre de pépin arrive un jour, il a fallu enregistrer manuellement la librairie dao360.dll dans la base de registres.
skallagrimson est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ACCESSF.A.Q AccessF.A.Q VBATutorielsSourcesOutilsLivresAccess TVAccess 2007

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide