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 :

pouvoir ajouter un valeur par un formulaire à une liste déroulante(option liste valeu


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut pouvoir ajouter un valeur par un formulaire à une liste déroulante(option liste valeu
    bonjour,

    j'ai un champs "type_tenue", en format texte, format "liste déroulante", "liste de valeur" et mes valeur sont les suivantes; polo;parka;pantalon;pull;sweat;

    Or il ce peut que l'association dans laquel j'effectue un stage et ou j'améliore leur base de données, achète de nouveau type de tenue comme des gants, des écharpes, des polaires...

    Donc j'aimerais garder la liste de valeur qui est pres rentrée mais laisser la possibilté d'ajouter un noveau typede tenue a ma liste en passant par mon formulaire, car les personnes qui vont se servir du logiciel ne seront jamais passer par la table et ce n'est pas le bute de toutes façon.

    Pensez vous alors que cela est possible???
    j'utilise access 2002 (et je ne mis connais pas en VBA et e, SQL mais je peux copier un code la ou on me le dis de le faire! lol)
    Merci d'avance

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Bonjour Jennifer,

    En fait, l'erreur c'est la liste de valeurs.
    La liste de valeurs est, par définition limitative...
    Ce qu'il te faudrait c'est, au lieu de Liste valeurs, mettre Table/Requête.
    Ensuite, en admettant les points suivants :
    • Le nom du champ est bien Type_Tenue
    • La table qui le contient s'appelle tbl_Tenues
    Tu dois pouvoir faire une requête qui ressemble à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT [Type_Tenue] FROM [tbl_Tenues] ORDER BY [Type_Tenue]
    , code que tu pourras copier-coller () dans la propriété Contenu de la liste.
    Ensuite, assures-toi que la propriété Limiter à liste de la liste soit bien définie sur Non, et cela devrait fonctionner.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour JenniferIUP,
    je ne suis pas sûr mais je crois que la liste de valeurs pour une liste déroulante est limitée en nombre de caractères; puisque tu ne sais pas combien de type_tenue seront ajoutées par les futurs utilisateurs; essaie plutôt de prévoir une table.
    Après pour permettre aux utilisateurs d'ajouter de nouvelles valeurs, tu peux indiquer dans l'événement "Sur absence de la liste" =>Procédure événementielle puis tu cliques sur le bouton ... à droite pour ouvrir la fenêtre de code. Là tu tapes le code VBA qui doit s'exécuter quand l'utilisateur tape une type_tenue qui n'existe pas encore.

    Exemple : Pour l'exemple la liste déroulante s'appelle LstTypeTenue, sa propriété Nbre de colonnes=2; Largeur Colonne= 0;3.
    La table qui contient les types de tenue TblTypeTenue et elle a deux champs, un champ IDTypeTenue en numéroauto, et un champ LibelleTypeTenue en texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub LstTypeTenue_NotInList(NewData as string,Response as Integer)
     If msgbox("Le type de tenue '" & newdata & "' n'existe pas." & vbcrlf & "Voulez-vous le créer ?",VbYesNo,NewData & " Type de tenue inconnu")=VbYes Then
      CurrentDB.Execute "INSERT INTO TblTypeTenue (LibelleTypeTenue) VALUES ('" & newdata & "')" 
      Repsonse=AcDataErrAdded
     Else
      LstTypeTenue.Text=""
      Response=AcDataErrContinue
     Endif
    End sub

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/05/2011, 10h04
  2. Réponses: 4
    Dernier message: 08/07/2009, 14h38
  3. Réponses: 5
    Dernier message: 26/04/2007, 11h42
  4. Valeur par défaut dans une table objet
    Par Ricky81 dans le forum Oracle
    Réponses: 12
    Dernier message: 18/03/2004, 11h52
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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