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

Requêtes et SQL. Discussion :

Liste déroulante avec ajout automatique [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2009
    Messages : 380
    Points : 134
    Points
    134
    Par défaut Liste déroulante avec ajout automatique
    Bonjour,

    Il est facile de créer une liste déroulante contenant les valeurs de requêtes, ou tables, ou même avec des valeurs tapées lors de la création... mais, j'aimerais créer une liste déroulante avec ajout automatique, c'est-à-dire, qu'il sera possible de taper des autres valeurs que celles déjà présentes dans la liste, et évidemment ces valeurs seront présentes dans la liste déroulante pour les prochains enregistrements ! Et cela sans devoir ajouter des données dans une table ou requête liée....

    Merci d'avance pour vos lumières :-)

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    Salut,

    je ne pense pas que se soit possible sans ajouter la nouvelle valeur dans la table source.
    Si tu veux garder les nouvelles valeurs tapées tu es obligé de l'ajouter a la table qui alimente ta liste.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2009
    Messages : 380
    Points : 134
    Points
    134
    Par défaut
    J'ai trouvé ceci...

    L'événement NotInList

    La liste déroulante est dotée d'un événement Sur absence dans liste (NotInList). Voici comment l'utiliser :

    Créez une table comportant un champ Intitulé, de type Texte. Nommez cette table tblIntitulés. Renseignez éventuellement quelques valeurs dans cette table, à titre d'essai.
    Créez ensuite un formulaire (non basé sur la table tblIntitulés).
    Sur le formulaire, placez une liste déroulante, qui sera construite sur la table tblIntitulés.
    Faites apparaître les propriétés de la liste déroulante (par un clic droit sur la liste). Définissez le nom (cmbListe par exemple), et réglez la propriété Limiter à liste sur Oui (sinon, l'événement Sur absence dans liste ne sera pas déclenché).
    Enfin, écrivez le code Visual Basic suivant dans l'événement Sur absence dans liste :


    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
    Private Sub cmbListe_NotInList(NewData As String, _
      Response As Integer)
      Dim rst As DAO.Recordset
     
      If MsgBox("L'élément [" & _
        NewData & "] ne figure pas dans la liste. Voulez-vous l'ajouter ?", _
        vbQuestion + vbYesNo) = vbYes Then
          ' Ajouter l'élément à la liste
          Set rst = CurrentDb.OpenRecordset("tblIntitulés")
          rst.AddNew
            rst!Intitulé = NewData
          rst.Update
          rst.Close
          Set rst = Nothing
    End If
     
    ' Annuler le message d'erreur d'Access
    Response = acDataErrAdded
    End Sub
    Maintenant, j'ai une autre question... comment faire, pour que l'enregistrement se fasse obligatoirement en MAJUSCULE !!!! ???

    Je sais qu'il y a Ucase(), mais je n'arrive pas à le mettre...

    Je peux aussi mettre ">" dans le format du champ (Table), cela affiche bien en majuscule, mais n'est pas en majuscule, il suffit d'aller avec la souris sur le mot et il est de nouveau en minuscule...

    Merci d'avance pour votre aide :-)

    EDIT :

    Trouvé... rst!Intitulé = UCase(NewData)

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

Discussions similaires

  1. [XL-2003] liste déroulante avec saisie semi automatique
    Par ghrab dans le forum Excel
    Réponses: 1
    Dernier message: 17/11/2011, 18h09
  2. Réponses: 5
    Dernier message: 06/09/2011, 17h32
  3. Réponses: 0
    Dernier message: 13/08/2011, 23h16
  4. Réponses: 0
    Dernier message: 10/11/2010, 11h45
  5. liste déroulante avec ajout possible
    Par bachilbouzouk dans le forum ASP
    Réponses: 5
    Dernier message: 19/04/2005, 11h48

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