Appel d'une procédure Access
Bonjour!
Voici le contexte:
Depuis une procédure dans mon classeur Excel, j'appelle une procédure écrite dans Access. Code Excel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Sub updateAccess()
'**** Method that calls method from Access to update table ****
Dim acApp As Access.Application
Set acApp = New Access.Application
acApp.OpenCurrentDatabase ("K:\Database\SP7LOG01 Masterdata.accdb") 'open access database
acApp.Run ("createNewTable") 'call Access method
acApp.CloseCurrentDatabase 'close DB
Set acApp = Nothing
MsgBox "Database updated."
End Sub |
Code Access :
Code:
1 2 3 4 5 6 7 8 9 10 11
| Function createNewTable()
'**** Main function called by excel to update the table ****
DoCmd.RunSavedImportExport ("New Import") 'import the new data
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM [SAP New] WHERE Material IS NULL" 'in case there are some empty records in the new table, we delete them
DoCmd.SetWarnings True
Call updateTable
CurrentDb.Execute ("DROP TABLE [SAP New]") 'delete table with imported data
End Function |
Les deux documents (Excel et Access) sont sur un réseau. Je m'y connais pas très bien en réseau, mais en gros, comme je pense dans toutes les entreprises, on a un réseau avec plus ou moins d'accès à certains documents. Les documents sont sur un ordi auquel j'ai accès grâce au réseau.
Et voici le problème:
Quand je teste la procédure Excel sur mon ordi, tout marche très bien! Par contre, un collègue a essayé sur son ordi (qui a accès au même réseau) et, il reçoit le message d'erreur suivant : "Erreur 40351. La méthode Run de Application a échoué" (traduction du néerlandais, alors je ne garantie pas que ce soit la formulation française exacte).
Auriez-vous une idée de pourquoi ce message d'erreur apparaît?
Ce que j'ai déjà testé:
- Ajouter le nom du classeur avant le nom de la macro.
Code:
1 2
| acApp.Run ("'SP7LOG01 Masterdata.accdb'!createNewTable") 'au lieu de :
acApp.Run ("createNewTable") |
Là, ça ne marche même plus chez moi :pleure: J'ai un message d'erreur : "Microsoft Access ne trouve pas la procédure ...." - Faire un Sub plutôt qu'une Function dans Access. Pas de changement.
Merci d'avance pour votre aide !