IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

[Access 2003]Groupe d'option ne reste pas selectionné après exécution du code


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Points : 96
    Points
    96
    Par défaut [Access 2003]Groupe d'option ne reste pas selectionné après exécution du code
    Bonjour,

    J'ai créé un groupe d'option contenant trois cases "Oui" "Non" et " ?"
    Je souhaite que ces valeurs textuelles viennent remplir un champs spécifique dans ma table avec le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Cadre55_AfterUpdate
    	Select Case Cadre 55
    		Case 1 'Oui
    			Me.Faux.Value = "Oui"
    		Case 2 'Non
    			Me.Faux.Value = "Non"
    		Case 3 '?
    			Me.Faux.Value = " ?"
    	End Select
    End Sub
    Jusqu'ici, tout va bien... Sauf que la case à cocher sélectionnée ne le reste pas pour les deux premières valeurs et qu'elles se grisent toutes pour la dernière.

    J'ai essayé en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Option58.Value = True
    Mais je reçois une erreur d'exécution '2448' : Impossible d'attribuer une valeur à cet objet" et la valeur textuelle n'est pas copiée dans le champs, il ne me garde que la valeur numérique.

    Quelqu'un aurait une idée pour corriger ce problème ?

    Merci d'avance ^^

  2. #2
    Membre régulier Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Points : 96
    Points
    96
    Par défaut
    J'ai bêtement contourné le problème en créant trois cases d'option auxquels j'ai simplement ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.coch_Oui = True Then
         Me.coch_Non = False
         Me.coch_Ind = False
         Me.Faux.Value = "Oui"
    End If
    Sur chaque case, sur clic.

    Plus long mais efficace ^^

  3. #3
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Lorsque tu crées un groupe d'option, Access te demande 2 infos principales : les valeurs des labels (en l'occurrence ici Oui, Non et ?) et les valeurs associées au choix qui sera fait.
    Valeur qui sera de type entier et stocké dans le champ lié.

    Donc : ce que tu as écrit comme code est inutile.

    Si ensuite, tu souhaites faire référence à la valeur stockée dans le champ, tu devras te rappeller que 1 c'est oui, 2 c'est non et 3 c'est ?.


  4. #4
    Membre régulier Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Points : 96
    Points
    96
    Par défaut
    Mon souci, c'est que justement, je veux que la valeur stockée dans la base soit textuelle dans le but de saisies, recherches et impressions futures par des utilisateurs Λ

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Pour la saisie, tout se passe par le formulaire et les utilisateurs ne verront que le groupe à options et donc les Oui, Non et ?.

    Pour les requêtes : Même chose.
    Tout se passe par le SQL donc toi tu sais que 1 c'est Oui, 2 c'est Non et 3 c'est ?.

    La "parade" que j'ai trouvé pour afficher dans un état :
    • Ajouter un champ texte indépendant
    • Sur l'évènement Au formatage de la section détail : placer le code suivant
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      ' ChampTable : Champ contenant les valeurs stockées
      ' Valeur : champ texte indépendant
          Select Case Me.ChampTable 
              Case 1
                  Me.Valeur = "Oui"
              Case 2
                  Me.Valeur = "Non"
              Case 3
                  Me.Valeur = "?"
          End Select
    • Masquer le champ ChampTable (propriété visible à Non)

    Un article de Starec sur les groupe d'options.


  6. #6
    Membre régulier Avatar de Nephyline
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 161
    Points : 96
    Points
    96
    Par défaut
    Merci pour toutes ses précisions.

    Ce qui me gêne, c'est pour les requêtes. Comment faire pour que les utilisateurs qui chercheront les données "non" aient un retour, sans avoir à taper "2" ?

  7. #7
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Tu peux sur un formulaire créer une liste déroulante en modifiant les propriétés suivante :

    Nbre de colonnes : 2
    Largeurs colonnes : 0cm;1cm
    Origine source : Liste valeurs
    Contenu : 1;"Oui";2;"Non";3;"?"

    Ensuite pour alimenter le critère de ta requête, tu te bases sur la liste déroulante.


Discussions similaires

  1. Réponses: 2
    Dernier message: 25/10/2011, 01h12
  2. Réponses: 10
    Dernier message: 30/10/2008, 14h06
  3. Plantage d'Access avec groupe d'option
    Par Anonymouse dans le forum IHM
    Réponses: 2
    Dernier message: 23/04/2008, 09h14
  4. access 2003 group by et max
    Par Bba_M dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/01/2008, 15h00
  5. [Débutant][ACCESS 2003]Liste d'option
    Par be_tnt dans le forum Access
    Réponses: 8
    Dernier message: 09/05/2006, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo