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

IHM Discussion :

ajouter un nom à une liste déroulante


Sujet :

IHM

  1. #1
    Membre du Club Avatar de lolo_bob2
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 195
    Points : 56
    Points
    56
    Par défaut ajouter un nom à une liste déroulante
    Bonsoir

    J'ai un formulaire avec une liste déroulante, comment puis je faire
    pour que lorsque j'inscris un nouveau nom dans la liste déroulante
    celui ci s'ajoute à cette liste
    Merci beaucoup


    A+

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Ta liste doit être basée sur une table et tu dois ajouter un enregistrement à la table avec l'évènement NotInList.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Private Sub RéfClient_NotInList(NewData As String, Response As Integer)
    Dim entDemande As Integer
    Dim bds As Database, rst As Recordset
     
    entDemande = MsgBox("Ajouter un nouveau client ?", vbQuestion + vbYesNo)
     
    If entDemande = vbYes Then
     
        Set bds = CurrentDb
        Set rst = bds.OpenRecordset("tblClients")
        rst.AddNew
        rst!Nom = NewData
        rst.Update
        Response = acDataErrAdded
        MsgBox ("Il faut mettre les données à jour!!!")
    Else
     
        Exit Sub
     
    End If
     
    rst.Close
     
     
     
    End Sub
    Voilà un exemple de code qui permet d'ajourter un client à la table client qui sert de ource au combo.

  3. #3
    Membre du Club Avatar de lolo_bob2
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 195
    Points : 56
    Points
    56
    Par défaut
    Bonjour

    Merci Heureux-oli pour ta réponse
    Je vais essayer et je te redis si c'est ok

    Merci

  4. #4
    Membre du Club Avatar de lolo_bob2
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 195
    Points : 56
    Points
    56
    Par défaut
    Rebonjour

    En fait j'ai ma table Societe où je rentre le nom des différentes entreprise.
    Ensuite je refais un autre table (table 2) avec une liste déroulante sur laquelle je demande d'aller chercher les données de la table societe.
    Voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Sub Societe_NotInList(NewData As String, Response As Integer)
    Dim entDemande As Integer
    Dim bds As Database, rst As Recordset
     
    entDemande = MsgBox("Ajouter un nouveau client ?", vbQuestion + vbYesNo)
     
    If entDemande = vbYes Then
     
        Set bds = CurrentDb
        Set rst = bds.OpenRecordset("Societe")
        rst.AddNew
        rst!Nom = NewData
        rst.Update
        Response = acDataErrAdded
        MsgBox ("Il faut mettre les données à jour!!!")
    Else
     
        Exit Sub
     
    End If
     
    rst.Close
     
     
     
    End Sub
    Je ne sais pas ou mettre ce code exactement sur ma combobox ? mais sur quel evenement ?

    Merci de votre aide

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    il faut mettre ce code dans absent dans liste et en VBA, c'est NotInList.
    L'évènement se produit lorsque la valuer entrée n'est pas dans la liste.
    Attention que Nom dans mon code correspond à un champ de ma table.

  6. #6
    Membre du Club Avatar de lolo_bob2
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 195
    Points : 56
    Points
    56
    Par défaut
    Bonsoir

    je viens de refaire un test mais je pense que je shinte une étape
    Voila je fais une première table TblSociete avec un champ Nom qui est ma table de destination des nouveaux noms.
    Ensuite je fais une seconde table TblRel avec un champ societé qui est une liste déroulante avec comme données d'entrées la TblSociete

    Ensuite je fais mon formulaire TbleRel et sur la proprieté de la combobx sur l'évenement 'absent dans liste'
    je mets ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Sub Nom_NotInList(NewData As String, Response As Integer)
    Dim entDemande As Integer
    Dim bds As Database, rst As Recordset
     
    entDemande = MsgBox("Ajouter un nouveau client ?", vbQuestion + vbYesNo)
     
    If entDemande = vbYes Then
     
        Set bds = CurrentDb
        Set rst = bds.OpenRecordset("TblSociete")
        rst.AddNew
        rst!Nom = NewData
        rst.Update
        Response = acDataErrAdded
        MsgBox ("Il faut mettre les données à jour!!!")
    Else
     
        Exit Sub
     
    End If
     
    rst.Close
     
     
     
    End Sub
    Rien ne se passe comment cela se fait il ?
    Merci de votre aide
    Je joins ma base Pour que vous puissiez comprende ce que j'ai fais (certificat.mdb)
    Merci de votre aide
    A+
    Fichiers attachés Fichiers attachés

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    C'est lié à la conception de l'ensemble.
    Ton combo est issu de la table et non pas du formulaire.
    Dans les tables, il ne faut rien mettre d'autre que des données.
    Les listes, les sources, .... il est préférable de les mettre dans un formulaire.

    Un autre motif, est que la propiété limiter à liste était sur non.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 32
    Points
    32
    Par défaut
    Sinon tu fais propriété sur ta zone de liste déroulante et tu lui attribues une requête qu il te propose de créer, tu choisis dans les propriétés de ta requête valeur distinctes : oui comme ça a chaque fois que tu rajoute un nom dans la zone de liste il apparait par la suite. Sinon, dans ta table tu as une possibilité : assistant liste de choix.. Je suis nul en VBA. Mais je suis pas sur qu'il faille passé par du VBA pour résoudre un pb comme ça..

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    C'est correct, il est possible de le faire sans VBA, mais dans ce cas, tu n'auras aucun contrôle sur les données entrées, et pour une valeur qui devrait être indentique, tu te retrouve avec 10 ou 15 écritures ou introductions différentes. C'est quand tu veux extraire les données que c'est amusant de faire des corrections manuelles.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Ajout de "Tous" à une liste déroulante
    Par tibogaet dans le forum IHM
    Réponses: 12
    Dernier message: 20/08/2009, 08h33
  2. [MySQL] Ajouter élément dans une liste déroulante
    Par nadia lydia dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 12/06/2009, 00h07
  3. Ajouter fonction dans une liste déroulante
    Par juzii dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/12/2008, 09h13
  4. ajouter des valeurs à une liste déroulante
    Par Simon2 dans le forum IHM
    Réponses: 3
    Dernier message: 30/07/2007, 23h59
  5. Ajouter "TOUS" dans une liste déroulante
    Par Marie_2116 dans le forum Access
    Réponses: 2
    Dernier message: 04/07/2007, 13h38

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