Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
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

2 réponses

Avatar
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 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 ;-)
@+
Avatar
rolmaire
On 31 juil, 14:02, Fabien wrote:
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