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

Signaler
Messages postés
36
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
13 mai 2020
-
Messages postés
36
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
13 mai 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
11531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juillet 2020
659
bonjour, à tout hasard, as-tu essayé
[États]![ÉTAT_1].[ÉTAT_2].[CHAMP]
et
[ÉTAT_2].[CHAMP]
?
Messages postés
36
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
13 mai 2020

Oui et ça ne marche pas.. C'est le même message d'erreur qui apparaît..
Messages postés
11531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juillet 2020
659
peux-tu partager ton fichier?
Messages postés
36
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
13 mai 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
11531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juillet 2020
659
tu n'as pas expliqué comment obtenir l'erreur.
Messages postés
36
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
13 mai 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
11531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juillet 2020
659
cela me semble normal d'avoir ce comportement, puisque l'état 07_01-DA n'est pas ouvert.
Messages postés
11531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juillet 2020
659
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
11531
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juillet 2020
659
correction:
Private Sub Texte73_Click()
Call DoCmd.OpenForm("07_01M-SAISIR_DÉP_AUTRES", , , "No_DA=" + CStr(Me.Texte81))
End Sub
Messages postés
36
Date d'inscription
lundi 16 avril 2018
Statut
Membre
Dernière intervention
13 mai 2020

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