Méthode Application.Run (Access)
Utilisez la méthode Run pour exécuter une procédure Microsoft Access ou Une fonction ou sub définie par l’utilisateur spécifiée. Variante.
Syntaxe
expression. Exécuter (Procedure, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26 , Arg27, Arg28, Arg29, Arg30)
expressionUne variable qui représente un objetApplication.
Paramètres
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Procédure | Obligatoire | String | Nom de la procédure Function ou Sub à exécuter. Si vous appelez une procédure dans une autre base de données, utilisez le nom du projet et le nom de la procédure séparés par un point au format : « nom_projet. procedurename » Si vous exécutez du code Visual Basic contenant la méthode Run dans une base de données bibliothèque, Access recherche d’abord la procédure dans la base de données bibliothèque, puis dans la base de données active. |
Arg1, Arg2, ...Arg30 | Facultatif | Variant | Arguments qui doivent être passés à la fonction ou au sous spécifié dans l’argument Procedure . |
Valeur renvoyée
Variant
Remarques
Cette méthode est utile lorsque vous contrôlez Microsoft Access à partir d'une autre application au moyen de Automation, autrefois appelé OLE Automation. Par exemple, vous pouvez utiliser la méthode Run à partir d’un composant ActiveX pour effectuer une procédure Sub définie dans une base de données Access.
Vous pouvez définir une référence à la bibliothèque de types Access à partir de n’importe quel autre composant ActiveX et utiliser les objets, méthodes et propriétés définis dans cette bibliothèque dans votre code. Toutefois, vous ne pouvez pas définir une référence à une base de données Access individuelle à partir d’une application autre qu’Access.
Par exemple, supposons que vous avez défini une procédure nommée NewForm dans une base de données avec sa propriété ProjectName définie sur « WizCode ». La procédure NewForm prend un argument de chaîne. Vous pouvez l'appeler de la manière suivante à partir de Visual Basic :
Dim appAccess As New Access.Application
appAccess.OpenCurrentDatabase ("C:\My Documents\WizCode.mdb")
appAccess.Run "WizCode.NewForm", "Some String"
Si une autre procédure portant le même nom peut résider dans une autre base de données, qualifiez l’argument de procédure , comme indiqué dans l’exemple précédent, avec le nom de la base de données dans laquelle réside la procédure souhaitée.
Vous pouvez également utiliser la méthode Run pour appeler une procédure dans une base de données Access référencée à partir d’une autre base de données.
Exemple
L’exemple suivant exécute une procédure Sub définie par l’utilisateur dans un module d’une base de données Access à partir d’une autre application qui agit comme un composant Active X.
Pour essayer cet exemple, créez une base de données appelée WizCode.mdb et attribuez la valeur WizCode à la propriété ProjectName. Ouvrez un nouveau module dans cette base de données et tapez le code ci-après. Enregistrez le module et fermez la base de données.
Remarque
Vous définissez le ProjectName en sélectionnant Outils>Propriétés WizCode dans le menu principal VBE.
Public Sub Greeting(ByVal strName As String)
MsgBox ("Hello, " & strName & "!"), vbInformation, "Greetings"
End Sub
Une fois cette étape terminée, exécutez le code suivant à partir de Microsoft Excel ou Visual Basic. Vérifiez que vous avez ajouté une référence à la bibliothèque de types Access en choisissant Références dans le menu Outils et en choisissant Bibliothèque d’objets Microsoft Access 12.0 dans la boîte de dialogue Références .
Private Sub RunAccessSub()
Dim appAccess As Access.Application
' Create instance of Access Application object.
Set appAccess = CreateObject("Access.Application")
' Open WizCode database in Microsoft Access window.
appAccess.OpenCurrentDatabase "C:\My Documents\WizCode.mdb", False
' Run Sub procedure.
appAccess.Run "Greeting", "Joe"
Set appAccess = Nothing
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.