Access 2003 : liste déroulante non limitée

Résolu
Nepenthes67 Messages postés 3 Statut Membre -  
Nepenthes67 Messages postés 3 Statut Membre -
Bonjour à tous,

Je débute avec Access et, après plusieurs jours de recherches sur Internet et d'essais infructueux, je me permet de vous demander de l'aide:

Est-il possible, pour un champ donné, d'obtenir une liste déroulante reprenant tous les enregistrements déjà présents dans le champ, permettant également de mettre un enregistrement qui ne s'y trouve pas encore et que ce dernier, une fois encodé, se retrouve également dans la liste déroulante ?

Exemple:

- J'ai un champ "Animal" avec chat, chien, poule déjà enregistrés.

- Pour l'enregistrement suivant j'aurais une liste déroulante reprenant chat, chien et poule.
Je pourrais donc choisir une de ces 3 possibilités ou d'en mettre une autre (lapin par exemple).

- Pour l'enregistrement suivant, j'aurais alors une liste déroulante me proposant chat, chien, lapin et poule...

J'ai essayé avec une liste de choix par requête de regroupement (avec une table séparée ne reprenant que le champ "Animal") cela fonctionne mais les nouvelles entrées (hors table séparée) ne sont pas proposées dans la liste déroulante lors des enregistrements suivants.

Bien à vous et merci d'avance pour votre aide.

4 réponses

  1. castours
     
    Bonjour
    J'avais un systeme pour ajouter un enregistrement dans une liste, il fallait cliquer 2 fois sur la liste. Cela ouvrez un formulaire issu de la table de la liste deroulante.
    Tu pouvais ajouter un enregistrement dans ta liste.
    Si cela t'interesse je fais une recherche dans mes bases données ou j'ai employé ce systeme.
    1
    1. castours
       
      Comment cela fonctionne:
      Quand tu mets dans la liste un nom qui ne figure pas,un message te demande cliquer 2 fois sur le champ . Cela ouvre un formulaire issu de ta liste deroualante. Tu remplis le champavec le nouveau nom Celui ci ce retrouve dans la table, puis dans ta liste deroulante.

      Voici les deux procedures a ajouter dans les propriétes de ta liste deroualntes.

      Propriété absence dans la liste

      Private Sub RéfTypeRessource_NotInList(NewData As String, Response As Integer)
      MsgBox "Cliquez deux fois sur ce champ pour ajouter une entrée dans la liste."
      Response = acDataErrContinue
      End Sub

      Propriété double clic

      Private Sub RéfTypeRessource_DblClick(Cancel As Integer)
      On Error GoTo Err_RéfTypeRessource_DblClick
      Dim lngResourceTypeID As Long

      If IsNull(Me![RéfTypeRessource]) Then
      Me![RéfTypeRessource].Text = ""
      Else
      lngResourceTypeID = Me![RéfTypeRessource]
      Me![RéfTypeRessource] = Null
      End If
      DoCmd.OpenForm "Types de ressources", , , , , acDialog, "GotoNew"
      Me![RéfTypeRessource].Requery
      If lngResourceTypeID <> 0 Then Me![RéfTypeRessource] = lngResourceTypeID

      Exit_RéfTypeRessource_DblClick:
      Exit Sub

      Err_RéfTypeRessource_DblClick:
      MsgBox Err.Description
      Resume Exit_RéfTypeRessource_DblClick
      End Sub
      0
  2. castours
     
    bonjour
    Pour pouvoir ajouter des enregistrements dans une liste deroulante, il te faut regarder dans les propriétés de la liste et que la propriété LIMITE A LA LISTE soit déactivié.
    0
  3. Nepenthes67 Messages postés 3 Statut Membre
     
    Bonjour,

    Merci pour votre réponse, j'ai déjà essayé ce système, mais les enregistrements (hors liste déroulante) ajoutés ne se retrouvent pas dans la liste déroulante pour les enregistrements suivants.
    0