Passage d'arguments à la méthode Run de l'objet Application

Le
Rolmaire
Bonjour,

J'ai créé un Formulaire Menu Général en utilsant l'assistant d'Access 2003.

Je voudrais maintenant lancer du code à partir de ce formulaire.

J'ai donc complété la table Switchboard Items également créée par l'assistant.
La valeur 8 dans le champ Command permet d'utiliser la méthode "Application.
Run" de la Function "HandleButtonClick" également créée par l'assistant.
Le champ Argument est complété par les arguments à passer.

Mon problème est celui-ci:
Si je ne passe qu'un argument à cette méthode, le code fonctionne sans
problème.
Mais si j'en passe plusieurs, je reçois l'erreur " [nom de l'application] ne
peut trouver la procédure [nom de la procédure]"

Le problème me semble-t-il est que les arguments sont passés au code dans le
champ [argument] du recordset 'rs' basé sur la table Switchboard Items, mais
que le code considère le champ comme 1 seul argument.

Exemple
Voici la partie de code de la fonction 'HandleButtonClick' du formulaire
Form_Menu Général

' Run code.
Case conCmdRunCode
Application.Run rs![Argument]

Voici un extrait des données de la Table Switchboard Items pour lesquels le
code fonctionne

Champ: Command , valeur: 8
Champ: Argument , valeur: OpenFormWithArg

Maintenant un extrait des données de la Table Switchboard Items pour
lesquels le code renvoie l'erreur
Champ: Command , valeur: 8
Champ: Argument , valeur: "OpenFormWithArg", "FrmTest", "MyArg"

L'erreur renvoyée est : "[Nom de l'application] ne peut pas trouver la
procédure 'OpenFormWithArg, FrmTest, MyArg'.

A remarquer que si j'exécute le code

Application.Run "OpenFormWithArg", "FrmTest", "MyArg" dans la fenêtre
d'exécution, le code se déroule sans problème.

Merci pour vos conseils
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #16448041
Rolmaire a écrit :
Bonjour,

J'ai créé un Formulaire Menu Général en utilsant l'assistant d'Access 2003.

Je voudrais maintenant lancer du code à partir de ce formulaire.

J'ai donc complété la table Switchboard Items également créée par l'assistant.
La valeur 8 dans le champ Command permet d'utiliser la méthode "Application.
Run" de la Function "HandleButtonClick" également créée par l'assistant.
Le champ Argument est complété par les arguments à passer.

Mon problème est celui-ci:
Si je ne passe qu'un argument à cette méthode, le code fonctionne sans
problème.
Mais si j'en passe plusieurs, je reçois l'erreur " [nom de l'application] ne
peut trouver la procédure [nom de la procédure]"

Le problème me semble-t-il est que les arguments sont passés au code dans le
champ [argument] du recordset 'rs' basé sur la table Switchboard Items, mais
que le code considère le champ comme 1 seul argument.

Exemple
Voici la partie de code de la fonction 'HandleButtonClick' du formulaire
Form_Menu Général

' Run code.
Case conCmdRunCode
Application.Run rs![Argument]

Voici un extrait des données de la Table Switchboard Items pour lesquels le
code fonctionne

Champ: Command , valeur: 8
Champ: Argument , valeur: OpenFormWithArg

Maintenant un extrait des données de la Table Switchboard Items pour
lesquels le code renvoie l'erreur
Champ: Command , valeur: 8
Champ: Argument , valeur: "OpenFormWithArg", "FrmTest", "MyArg"

L'erreur renvoyée est : "[Nom de l'application] ne peut pas trouver la
procédure 'OpenFormWithArg, FrmTest, MyArg'.

A remarquer que si j'exécute le code

Application.Run "OpenFormWithArg", "FrmTest", "MyArg" dans la fenêtre
d'exécution, le code se déroule sans problème.

Merci pour vos conseils


Salut, essai d'encadrer tes valeurs par des "
"Openformwith," & chr(34) & "Frmtest" & chr(34) & "," & chr(34) &
"MyArg" & chr(34)
@ tester ;-)
@+
rolmaire
Le #16474711
On 31 juil, 14:02, Fabien
Rolmaire a écrit :



> Bonjour,

> J'ai créé un Formulaire Menu Général en utilsant l'assistant d' Access 2003.

> Je voudrais maintenant lancer du code à partir de ce formulaire.

> J'ai donc complété la table Switchboard Items également créée par l'assistant.
> La valeur 8 dans le champ Command permet d'utiliser laméthode"Applica tion.
>Run" de la Function "HandleButtonClick" également créée par l'assi stant.
> Le champ Argument est complété par les arguments à passer.

> Mon problème est celui-ci:
> Si je ne passe qu'un argument à cetteméthode, le code fonctionne sa ns
> problème.
> Mais si j'en passe plusieurs, je reçois l'erreur " [nom de l'applicat ion] ne
> peut trouver la procédure [nom de la procédure]"

> Le problème me semble-t-il est que les arguments sont passés au cod e dans le
> champ [argument] du recordset 'rs' basé sur la table Switchboard Item s, mais
> que le code considère le champ comme 1 seul argument.

> Exemple
> Voici la partie de code de la fonction 'HandleButtonClick' du formulair e
> Form_Menu Général

>  'Runcode.
>         Case conCmdRunCode
>            Application.Runrs![Argument]

> Voici un extrait des données de la Table Switchboard Items pour lesqu els le
> code fonctionne

> Champ: Command , valeur: 8
> Champ: Argument , valeur: OpenFormWithArg

> Maintenant un extrait des données de la Table Switchboard Items pour
> lesquels le code renvoie l'erreur
> Champ: Command , valeur: 8
> Champ: Argument , valeur: "OpenFormWithArg", "FrmTest", "MyArg"

> L'erreur renvoyée est : "[Nom de l'application] ne peut pas trouver l a
> procédure 'OpenFormWithArg, FrmTest, MyArg'.

> A remarquer que si j'exécute le code

>Application.Run"OpenFormWithArg", "FrmTest", "MyArg"     dans la fen être
> d'exécution, le code se déroule sans problème.

> Merci pour vos conseils

Salut, essai d'encadrer tes valeurs par des "
"Openformwith," & chr(34) & "Frmtest" & chr(34) & "," & chr(34) &
"MyArg" & chr(34)
@ tester ;-)
@+- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Merci Fabien , mais ça ne résoud pas mon problème.
En attendant une solution, je vais faire autrement.
Merci encore

Rolmaire
Publicité
Poster une réponse
Anonyme