ACCES clic choix liste déroulate interdisant accès autres champs ou ouvrant mémo

Signaler
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
-
FVR812
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
-
Bonjour, ACCES 2010 WINDOWS 10, très débutant j'essaie de me débrouiller avec divers tuto, mais je ne trouve pas de réponse aux questions suivantes :
Suit à notre échange précédent, j'ai finalement opté pour des champs de listes déroulantes pour mon relevé exhaustif de violences en milieu scolaire par établissements (plus de 600 établissements, avec nécessairement plusieurs enregistrements par établissement, grosse BD donc), plutôt que des groupes d'option qui m'obligent à créer un champ par option, donc à avoir un nombre de champs qui dépasse les limites, ou me conduise à lier plusieurs tables, compliquant ensuite les nombreuses requêtes de tri. MES QUESTIONS :
1. Sur mes 5 types de violences possibles (verbale, physique, morale, socioéconomique (vols, racket), ou sexuelle), chacune répartissant ses diverses modalités sur une liste de choix d'un seul champ respectivement, le Chef d'Établissement qui saisit peut ne signaler que des violences verbales seules, ou violences verbales et violences physiques par exemple.
L'option violence seule de chaque type seule existe en-tête de chaque liste déroulante, et je voudrais qu'un clic sur "violence verbale seule" dans la liste par exemple, interdise l'accès aux 4 autres listes déroulantes. Comment serait-ce possible ? Code VBA ? Soyez sympa de m'en donner quelques indications si vous pouvez
2. Pour chaque liste déroulante je dois prévoir une option "autre" non prévue et n'existant pas encore dans ma liste. Je voudrais qu'un choix "autre" ouvre sur un champ mémo créé à cet effet pour que le Chef d'Établissement puisse y écrire cet "autre". Comment ce choix "autre" dans ma liste déroulante peut-il entraîner à l'ouverture d'un champ mémo ?
3. Comment faire pour faire apparaitre toute la succession des choix d'un enregistrement au fur et à mesure en dessous du formulaire (exemple : violence verbale dépréciant simple, 'suivie de" violence physique coups armés portés, suivie de violence socio éco racket, … etc. sans compter les autres choix des listes déroulantes du même enregistrement (autres champs agresseur, victimes, causes, conséquences, ...) pour que celui qui saisit ne perde pas le fil de son enregistrement, avant de passer à l'enregistrement suivant. Je ne trouve pas. Si vous avez un exemple de code VBA ….
Désolé pour la longueur mais mon enquête est complexifiée par le nombre de champs différentes et les nombres de choix de leurs listes déroulantes. Merci si vous pouvez m'aider sur un de ces points au moins.

11 réponses

Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
bonjour, afin de faciliter la préparation d'exemples, peux-tu partager ton fichier, après avoir ajouté au formulaire le champ mémo et le champ qui servira pour faire apparaître toute la succession des choix d'un enregistrement?
FVR812
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Oui merci voilà :
GROS FICHIERS
grosfi.ch/dF3V374fXfR

excuse moi mais je n'ai pas été averti de ta réponse et de ta demande, et comme je n'étais pas revenu sur CCM ….
Cordialement
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491 > FVR812
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020

merci de faire les adaptations demandées et puis de partager le fichier adapté.
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Mais c'est e que je viens de te donner !
GROS FICHIERS
grosfi.ch/dF3V374fXfR
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
tu as écrit "option violence seule de chaque type seule existe en-tête de chaque liste déroulante," je ne vois pas cela.
j'ai demandé "après avoir ajouté au formulaire le champ mémo et le champ qui servira pour faire apparaître toute la succession des choix d'un enregistrement"; où cela se trouve-t'il?
merci aussi d'ajouter, à chaque liste déroulante, une option "autre", ainsi qu'un champ mémo pour que le Chef d'Établissement puisse y écrire cet "autre".
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491 > yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020

merci de faire un effort et de répondre à la bonne discussion.
je vois que tes menus déroulants permettent de sélectionner plusieurs choix: est-ce intentionnel?
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Merci de ton suivi mais je t'ai envoyé hier soir ma BD la plus à jour Een GROS FICHIERS (ci dessous) qui comporte en 1° place de liste déroulante de chacune des 5 types de violence l'option "seule" pour laquelle je demande qu'une bloque l'accès aux 4 autres.

RQ.
  • Pour l'instant cette BD est théorique, c'est sa structure qui m'intéresse d'où mes questions, et la manière de les résoudre, les champs ici sont remplis au hasard sans signification aucune
  • J'ai mis des listes déroulantes pour tout les champs pratiquement pour limiter le nombre de champs, mais on peut mettre un champ oui/non par choix, ce qui conduira à plusieurs tables liées probablement. La table qui contient les renseignements spécifique à l'établissement (premiers champs de ma BD) peur être seule et liée aux autres par un code établissement.
  • chaque établissement doit être codé pour que ça serve de clé de liaison aux plusieurs enregistrements faits par l'enquêteur ou le Chef d'Etablissement pour un même établissement.


Oui il y a plusieurs choix dans mes listes, ce qui entraîne lorsque 2 ou + sont cochées l'enregistrement séparé par des points-virgules dans le champ correspondant. Raison pour laquelle je demande comment faire pour faire une requête sur ce type de saisie couplée (exp. Enregistrement 9 : Dépréciation disqualifiante avenir; Dépréciation simple; Vverbal Aucun de ces choix > comment faire pour que la requête me sorte ce type de choix couplés ?), alors que c'est facile pour un choix seul.

En fin de chaque liste déroulante, le choix "autre, préciser" existe. Le cocher doit ouvrir le champ mémo qui apparaît (pour l'instant car normalement il est invisible (visible nin je crois) et ne devient visible que si on coche "autre préciser") sur le formulaire, et existe dans la table (V ... mémo autre)

Enfin comme ça fait beaucoup de choix et de saisies pour un enregistrement, je souhaiterais qu'au fur et à mesure d'un enregistrement, les choix s'affichent en dessous les uns à la suite des autres lisibles en permanence afin que celui qui saisit ne perde pas le fil et les aient toujours sous les yeux. Je ne sais comment ça peut être possible, pied de formulaire ? état, ? ...

Cordialement, merci encore.


MANTE <***@yahoo.fr> vous a envoyé des fichiers

Télécharger les fichiers: www.grosfichiers.com/CGxLxwcxXKh

Disponible encore 14 jours (jusqu'au lun. 27 janvier 2020 à 21h04)

Fichiers:
VSMMAROC 200108 AM200113.accdb
1 Mo
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
as-tu ajouté au formulaire le champ qui servira pour faire apparaître toute la succession des choix d'un enregistrement? comment s'appelle-t'il?
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
voici un exemple de code, à ajouter au formulaire, pour faire apparaître le champ memo en fonction du choix fait pour les violences socio-économiques.
Option Compare Database
Option Explicit

Private Sub Form_Current()
vis_vsoceco
End Sub

Private Sub Violences_SocioEconomiques_AfterUpdate()
vis_vsoceco
End Sub
Private Sub vis_vsoceco()
Dim choix
Me.VSocioEcoM2MOaUTRES.Visible = False
If Not IsNull(Me.Violences_SocioEconomiques.Value) Then
    For Each choix In Me.Violences_SocioEconomiques.Value
        If InStr(choix, "Préciser") > 0 Then
            Me.VSocioEcoM2MOaUTRES.Visible = True
            Exit For
        End If
    Next choix
End If
End Sub
FVR812
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Re, ton code comporte "Préciser" en rouge et ça ne fonctionne pas une fois enregistré et pour de nouveaux enregistrements. je suppose que c''est pcq "Préciser" n'existe pas dans ma liste déroulante. J'ai essayé d'y mettre mon libellé existant, ça ne marche pas non plus, j'ai supposé pcq il y a tout plein de parenthèse qu'ACCESS n'aime peut être pas pas même entre "" "". Donc j'ai renommé le libellé de ma liste déroulante en "VSocEcoAutreCliquerPreciser" sans espace ni accent ça ne fonctionne pas non plus... le mémo "VSocioEcoM2MOaUTRES" apparaît toujours avec un nouvel enregistrement alors qu'il ne devrait plus y être normalement et n'apparaitre qu'en cliquant sur "VSocEcoAutreCliquerPreciser"
Qu'est ce qu'il faut faire ?

Option Compare Database
Option Explicit

Private Sub Form_Current()
vis_vsoceco
End Sub

Private Sub Violences_SocioEconomiques_AfterUpdate()
vis_vsoceco
End Sub
Private Sub vis_vsoceco()
Dim choix
Me.VSocioEcoM2MOaUTRES.Visible = False
If Not IsNull(Me.Violences_SocioEconomiques.Value) Then
For Each choix In Me.Violences_SocioEconomiques.Value
If InStr(choix, "VSocEcoAutreCliquerPreciser") > 0 Then
Me.VSocioEcoM2MOaUTRES.Visible = True
Exit For
End If
Next choix
End If
End Sub
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491 > FVR812
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020

chez moi, cela fonctionnait bien avec le fichier que tu avais partagé.
ce que tu appelles "memo", c'est bien la zone de texte dans laquelle il est possible d'entrer du texte libre, la zone appelée VSocioEcoM2MOaUTRES?
Le plus possible, essaie d'utiliser le vocabulaire de Access: c'est une zone de texte, pas un memo.
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Merci de me débrouiller tout ça :
Tu écris :

ce que tu appelles "memo", c'est bien la zone de texte dans laquelle il est possible d'entrer du texte libre, la zone appelée VSocioEcoM2MOaUTRES?

OUI tout à fait

Le plus possible, essaie d'utiliser le vocabulaire de Access: c'est une zone de texte, pas un memo.

OK

Je vois bien ton code VBA qui concerne cette ouverture mais ça ne marche pas : en cliquant sur la case autre : VSocEcoAutreCliquerPreciser, la zone VSocioEcoM2MOaUTRES ne s'ouvre pas
J'ai le sentiment qu'il y a un bug quelque part car les N° d'enregistrement de la table et du formulaire ne correspondent pas; Je ne suis pas calé pour résoudre ça, si tu peux jeter un œil …
Merci, cordialement.
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
c'est un peu confus. hier tu écrivais que la zone memo était toujours visible, maintenant tu écris qu'elle ne s'ouvre pas.
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Je m'excuse, C'est de ma faute en fait, j'ai fait un essai de la mette en propriété/visible/non
Je te mets la bas en gros fichiers ce jour
grosfi.ch/Bw35tznDjTk
cordialement.
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
tu n'as pas ajouté le code au formulaire, tu as inutilement créé un module de classe.
pour ajouter du code à une formulaire:
- ouvrir le formulaire en mode création
- cliquer à droite, et choisir "créer code événement"
- choisir "générateur de code"
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Bonjour, je reviens de plusieurs jours de boulot et m'excuse d'être resté en stand by.
Donc, j'ai remis mon visible non,
J'ai suivi tes instructions : - ouvrir le formulaire en mode création
- cliquer à droite, et choisir "créer code événement"
- choisir "générateur de code"
J'ai collé ton code et voila ce qu'il me dit : (copie écran impossible ici), je recopie :
après
if Instr(choix, "VSocEco Autre(s) (Cliquer, Préciser)

") > 0 Then est en rouge

et une fenêtre dit : erreur de compilation erreur de syntaxe

Et ça ne marche pas :
le mémo
VSocioEcoM2MOaUTRES.Visible
reste ouvert en cochant VSocEcoAutreCliquerPreciser
Que faut-il faire ? Merci de ton aide.
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
peux-tu tester ma suggestion?
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Merci,
1. mais écoute je suis un peu largué là, qu'entends-tu par tester ta suggestion? J'ai déjà essayé comme je te l'ai écrit et ça ne marchait pas. Ma base est sur GROSFICHIERS, si tu veux bien essayer de faire quelque chose et de m'expliquer :

Télécharger les fichiers: grosfi.ch/jQZyYcJfgeJ
Gérez vos fichiers: grosfi.ch/dB43CSd5vZh

2. Au passage, dis moi comment on fait dans le formulaire pour faire apparaître une info bulle sur l'étiquette d'un contrôle, ou sur le controle seul en passant la souris dessus. J'ai essayé avec propriétés/Autres/Texte d'info bulle et je n'arrive à rien. Merci, désolé pour mes questions naives.
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
c'est de plus en plus confus.
1) le code que je t'ai proposé en #10 teste sur la présence de "Préciser" dans les choix cochés, parce que c'est ce qui était présent dans les fichiers que tu avais partagé avant.
Entre-temps, je vois que tu as changé l'intitulé des choix, il est donc normal que le code ne fonctionne pas.
2) tu écris "le mémo
VSocioEcoM2MOaUTRES.Visible
reste ouvert en cochant VSocEcoAutreCliquerPreciser"
je t'avais demandé d'adapter ton vocabulaire: essaie d'utiliser le vocabulaire de Access: c'est une zone de texte, pas un memo.
Que veux-tu dire par "reste ouvert en cochant ...": n'est-ce pas ce que tu souhaites, d'avoir la zone de texte visible?
3) tu me montres ce code:
if Instr(choix, "VSocEco Autre(s) (Cliquer, Préciser)
, comme s'il venait de ma suggestion. bizarre, non?
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
les info bulles n'apparaissent pas quand on passe la souris sur un élément, elles apparaissent quand on y laisse la souris.
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Je te recopie et réponds sur ton texte :
c'est de plus en plus confus.
Désolé

1) le code que je t'ai proposé en #1 teste sur la présence de "Préciser" dans les choix cochés, parce que c'est ce qui était présent dans les fichiers que tu avais partagé avant.
Entre-temps, je vois que tu as changé l'intitulé des choix, il est donc normal que le code ne fonctionne pas.
OK j'ai fait évoluer entre remps, mais même en reprenant les anciennes, je n'ai pas de "Préciser", peu importe, je vais réessayer avec mes nouveaux intitulés, ou refaire une base plus propre

2) tu écris "le mémo
VSocioEcoM2MOaUTRES.Visible
reste ouvert en cochant VSocEcoAutreCliquerPreciser"

je t'avais demandé d'adapter ton vocabulaire: essaie d'utiliser le vocabulaire de Access: c'est une zone de texte, pas un memo. OUI mais ce n'est que le nom
Que veux-tu dire par "reste ouvert en cochant ...": n'est-ce pas ce que tu souhaites, d'avoir la zone de texte visible?
C'est une erreur effectivement, il faudrait qu'il reste fermé et qu'il s'ouvre en cochant.

3) tu me montres ce code: if Instr(choix, "VSocEco Autre(s) (Cliquer, Préciser), comme s'il venait de ma suggestion. bizarre, non?
C'est un bidouillage où j'ai du essayer, de transformer ton code avec mes intitules.

Pour l'info bulle ça ne marche toujours pas même en laissant la souris dessus...

Je vais essayer de revoir tout ça avant de revenir vers toi. Merci de continuer à t'y intéresser. Cordialement.
yg_be
Messages postés
9360
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 janvier 2020
491
le code cherche si "Préciser" est présent dans le texte d'un des choix sélectionnés, et c'était bien le cas, avant que tu supprimes l'accent.
le texte complet du choix était "VSocEco Autre(s) (Cliquer, Préciser)", qui contient bien "Préciser".
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
OK, je n'avais pas pigé.
Messages postés
34
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
20 janvier 2020
2
Attends STP avant de continuer, je reconstruis ma base. Cordialement et merci.