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

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

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

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