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

Access Discussion :

[Débutant][ACCESS 2003]Liste d'option


Sujet :

Access

  1. #1
    Membre régulier Avatar de be_tnt
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 84
    Points
    84
    Par défaut [Débutant][ACCESS 2003]Liste d'option
    Re-

    Alosr j'ai une liste d'option avec deux valeurs différentes (A et B). Si A est sélectionné, alors dans ma table, je dois mettre 1 dans le champ lié_A; Si c'est B qui est sélectionné, alors c'est le champ lié_B qui doit avoir la valeur 1. J'ai vu qu'on peut utiliser des variables temporaires pour stocker la valeur de sélection mais je ne trouve pas comment ré-utiliser cette valeur ....

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 81
    Points : 88
    Points
    88
    Par défaut
    Bonjour,
    Si je ne me trompe pas, il te suffit de mettre ton code sur l'évenement OnClick de ta liste d'options.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select Case MaListeOption.value
         Case "A"
              'champ lié_A = 1
         Case "B"
              'champ lié_B = 1
         Case Else
              'Ne devrait pas se produire
    End Select
    Ensuite, si ton formulaire est lié à une table, à la place des commentaires (en vert dans mon exemple), tu peux par exemple changer la source de ton objet

  3. #3
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Citation Envoyé par be_tnt
    Re-

    Alosr j'ai une liste d'option avec deux valeurs différentes (A et B). Si A est sélectionné, alors dans ma table, je dois mettre 1 dans le champ lié_A; Si c'est B qui est sélectionné, alors c'est le champ lié_B qui doit avoir la valeur 1. J'ai vu qu'on peut utiliser des variables temporaires pour stocker la valeur de sélection mais je ne trouve pas comment ré-utiliser cette valeur ....
    Bonjour,
    je sais que je me mêle de ce qui ne me regarde pas, mais je soupçonne très fort une petite confusion au niveau de la structure de la table et de ses champs. À mons que tu ne travailles sur des tables existantes, et que tu n'aies pas le choix de simplifier leur structure ? Mais même dans ce cas, il faut répondre à toutes les questions.
    Questions :
    - les champs lié_A et lié_B peuvent ils être vrais (valeur = 1) tous les deux, dans le même enregistrement ?
    Je reprends ton exemple :
    - Si A est sélectionné, alors dans ma table, je dois mettre 1 dans le champ lié_A; et la valeur 0 (zéro) dans le champ lié_B ?
    - Si c'est B qui est sélectionné, alors c'est le champ lié_B qui doit avoir la valeur 1. et la valeur 0 dans le champ lié_A ?

    Je dis tout ça parce que ma première réponse aurait été : utilises un seul champ. Ce champ aurait 2 valeurs possibles (ça peut être 1 ou 0, "A" ou "B", vrai ou faux, ou autre...). Mais pourquoi 2 champs ?

    P.S. : comme tu vois, c'est souvent plus clair (plus parlant) de mettre ici les vrais noms des champs, plutôt que champA, champB...
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  4. #4
    Membre régulier Avatar de be_tnt
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 84
    Points
    84
    Par défaut
    Alors pour répondre aux différentes questions:

    lié_A et lié_B sont en fait deux compteurs. Ils identifient tous deux une manière différente de mettre en vente un objet. Lors de l'enregistrement de l'objet, il ne peut être mise en vente que d'une seule manière. Donc si lié_A = 0 au débute alors lié_B = 1 (et vice versa).

    Maintenant je devrais spécifier que je ne connais pas grand chose d'access (je fais cette base de données pour mon plaisir) et donc merci de ne pas mettre des réponses trop compliquer Je comprend les bouts de code mais si je sais pas où les mettre, ça ne m'avance pas à grand chose

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Dans ce cas, un seul champ suffit

  6. #6
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Citation Envoyé par be_tnt
    Maintenant je devrais spécifier que je ne connais pas grand chose d'access (je fais cette base de données pour mon plaisir) et donc merci de ne pas mettre des réponses trop compliquer Je comprend les bouts de code mais si je sais pas où les mettre, ça ne m'avance pas à grand chose
    OK. À toi de dire ce qui n'est pas clair, et on pourra détailler point par point.

    Si tu peux modifier la structure de la table, pourquoi ne pas
    - remplacer tes deux champs par un simple champ de type Oui/Non, nommé "ModeVente" par exemple. Si ce champ est vrai, ton programme traitera modevente A (comme si lié_A = 1), sinon, modeVente B (comme si lié_B = 1).
    - l'afficher, sur le formulaire, soit
    --- comme une case à cocher
    --- ou comme un groupe d'option avec 2 boutons radio : méthode de vente A ou méthode de vente B.

    Ce sera plus simple, et plus clair pour les utilisateurs.
    Suis-je clair ?
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  7. #7
    Membre régulier Avatar de be_tnt
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 84
    Points
    84
    Par défaut
    si je ne prends plus qu'un seul champ, je ne pourrais pas suivre le nombre de mise en vente. Pour être plus clair (enfin je vais essayer, jamais été très douée pour donner de explications ), j'ai:
    • un champ "Nombre de mise en vente enchère"
    • un champ "Nombre de mise en vente boutique"
    Lors de la première mise en vente de l'objet, un seul de ces 2 champs sera incrémenté (=> =1). Par la suite, il se peut qu'il soit mis plusieurs fois en enchère puis aussi en boutique. Tout dépend de ce que je veux faire Ces 2 compteurs me permettent de suivre le nombre de fois où l'objet a été mise en vente.

    Je ne vois pas comment un champ oui/non pourrait m'aider dans ce cas?? :

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    c'est pas très clair :
    d'abord tu dis que les champs ne prennent que la valeur 0 ou 1
    et ensuite tu parles de compteur

    pour moi il doit y avoir une ou deux tables avec les enchères et les mises en vente (avec la date de mise en enchère et d'autres infos)
    on n'incrémente pas un compteur comme ça, on compte le nombre d'enchères dans la table des enchères

  9. #9
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Bonjour,

    d'accord. Effectivement, c'est très différent si tes deux champs sont des compteurs.
    Disons, pour être tout à fait clairs, qu'à chaque opération tu vas ajouter +1 dans un des deux champs (et non pas mettre la valeur 1 dans le champ).
    Ou en termes informatiques, tu vas incrémenter un des deux compteurs.
    Bienvenue dans le monde des pinailleurs qui considèrent que "mettre 1 dans le champ" est très différent de "ajouter +1 à la valeur du champ"

    Dans ce cas, la solution proposée au départ par Shansson marche bien.
    Ceci dit, puisque tu n'as que 2 choix possibles "enchères" ou "boutiques", d'un simple point de vue ergonomique (confort de l'utilisateur), le contrôle le mieux approprié serait un groupe d'options avec 2 boutons radio :
    - le groupe peut s'appeler "ModeVente" (ou TypeVente... comme tu veux)
    - le 1er bouton radio a une valeur de 1, et une étiquette "vente aux enchères"
    - le 2ème bouton a une valeur de 2 et une étiquette "vente boutique"
    - les deux champs comptuers (par exemple CompteurEncheres et CompteurBoutique) disponibles
    - lorsque l'utilisateur clique sur une des options, tu déclenches l'évènement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub ModeVente_AftrerUpdate()
        If ModeVente = 1 then
            CompteurEncheres = CompteurEncheres + 1
        Else
            CompteurBoutique = CompteurBoutique + 1
        End If
    End Sub
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/10/2008, 14h06
  2. Réponses: 6
    Dernier message: 19/02/2008, 11h45
  3. Réponses: 4
    Dernier message: 09/05/2006, 11h48
  4. [liste déroulante et sous-formulaire] access 2003
    Par techinfo37 dans le forum Access
    Réponses: 6
    Dernier message: 24/12/2005, 15h14
  5. Réponses: 3
    Dernier message: 29/10/2005, 10h23

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