Condition WHERE en ouvrant un formulaire dans un sous-état [Résolu/Fermé]

Signaler
Messages postés
46
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
18 novembre 2020
-
Messages postés
46
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
18 novembre 2020
-
Bonjour!! :)

J'ai besoin de votre aide!!

Voici ce que j'ai dans ma base de données:
- Un état [ÉTAT_1] qui contient un sous-état [ÉTAT_2]
- Formulaire [FORM_A]

Voici mon but:
Lorsque je suis dans [ÉTAT_1], j'aimerais pouvoir appuyer sur une donnée [CHAMP] de mon sous-état [ÉTAT_2] et que mon formulaire [FORM_A] s'ouvre selon un numéro unique présent dans la donnée [CHAMP] de mon état [ÉTAT_2].

Voici comment j'ai procédé:
Dans mon [ÉTAT_2], sur le champ désiré, j'ai instauré une macro "Sur clic". Avec le générateur de macros, j'ai utilisé la command "OuvrirFormulaire" et dans "Condition Where = " j'ai inscrit: "[CHAMP]=[États]![ÉTAT_2].[CHAMP]". Ça fonctionne, mais à moitié..

Voici mon problème:
Lorsque je suis dans mon [ÉTAT_2] et que je clique sur une donnée, mon formulaire s'ouvre parfaitement comme je le veux. Ici tout va bien.

Par contre, lorsque je suis dans mon [ÉTAT_1] et que j'appuie sur une donnée contenue dans les sous-état [ÉTAT_2], ça me donne un message d'erreur comme quoi le système ne reconnaît pas les termes "[États]![ÉTAT_2].[CHAMP]" et me propose d'inscrire manuellement quelque chose à la place.

J'ai essayer de mettre "[CHAMP]=[États]![ÉTAT_1].[CHAMP]" dans "Condition Where", mais ça a le même effet...

Avez-vous une suggestion?

Un gros mercii!!!! :)

6 réponses

Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
bonjour, à tout hasard, as-tu essayé
[États]![ÉTAT_1].[ÉTAT_2].[CHAMP]
et
[ÉTAT_2].[CHAMP]
?
Messages postés
46
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
18 novembre 2020

Oui et ça ne marche pas.. C'est le même message d'erreur qui apparaît..
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
peux-tu partager ton fichier?
Messages postés
46
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
18 novembre 2020

Oui, alors voici le lien:
https://drive.google.com/file/d/1tB0k5v7YcgNia3LA127UDiwybWkqoPQb/view?usp=sharing

Mon état principal [ÉTAT_1] est : [05_01-FICHE_DÉTAILLÉE_DIR]
Mon sous-état [ÉTAT_2] est : [07_01-DA]
Mon formulaire à ouvrir est : [07_01M-SAISIR_DÉP_AUTRES]
Et le [CHAMP] est : [No_DA]

Dans l'[ÉTAT_2] la macro incorporée se trouve "Sur clic" sur la donnée qui contient [NET_DA].

Merci beaucoup!! :)
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
tu n'as pas expliqué comment obtenir l'erreur.
Messages postés
46
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
18 novembre 2020

Tu dois entrer dans l'état [05_01-FICHE_DÉTAILLÉE_DIR] et appuyer sur l'un des montants apparaissant dans la section "DÉTAIL DES DÉPENSES DIVERSES" (Ex: 800$)

L'erreur apparaîtra comme quoi le système n'arrive pas à définir "États!07_01-DA.No_DA" et me demande d'inscrire manuellement quelque chose.

La condition WHERE décrite précédemment est comme je l'ai décrite dans mon problème de départ, mais en essayant tes dernières suggestions, le résultat est le même et le formulaire ne s'ouvre toujours pas..

Est-ce que tu as besoin de plus de détails?
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
cela me semble normal d'avoir ce comportement, puisque l'état 07_01-DA n'est pas ouvert.
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
je pense que le plus simple est de remplacer l'appel à la macro par un appel à cette procédure événementielle:
Private Sub Texte73_Click()
Call DoCmd.OpenForm("07_01M-SAISIR_DÉP_AUTRES", , "[No_DA]=" + CStr(Me.Texte81))
End Sub
Messages postés
16033
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
867
correction:
Private Sub Texte73_Click()
Call DoCmd.OpenForm("07_01M-SAISIR_DÉP_AUTRES", , , "No_DA=" + CStr(Me.Texte81))
End Sub
Messages postés
46
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
18 novembre 2020

Ohh que oui!!! Ça fonctionne!! Merci beaucoup encore!!!
Ton aide m'est très précieuse!! :D