Access zone de texte déroulante

Bonjour,

j'ai créer une base access 2010 avec un formulaire qui contient une zone de texte deroulant.
dans cette liste déroulante il y a les données venant d'une requete .
j'utilise cette liste pour rechercher mes données en inscrivant un numéro sur 6 chiffres.
ma question est si le numéro entrant manuelement n'est pas dans la liste déroulante, j'aimerais avoir un message d'erreur du style (votre numéro n'est pas enregistré).

merci davance

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir,
    Sélectionner les propriétés de la liste déroulante "Limité à liste" = Oui + "Message si erreur" = "Blablablabla"
    Bon courage
    1. bonsoir

      avant de d'indiquer une message 'si erreur' il faut remplir une condition 'valide si'
      (valide si le numéro est dans la liste)
      le problème je ne trouve pas l'expression .

      merci d'avance
      1. A priori la réponse est Non, mais sans certitude, je n'en ai jamais eu besoin. Tu essaies et tu regardes ce qui se passe. En principe la propriété "Valide si .. " concerne un type ou une tranche de données, par exemple s'il s'agit d'un age pour participer à un concours : valide si "< 21" .
        1. Pour compléter : Non pas valide si dans la liste, parce qu'alors tu choisis "Limité à liste = oui " . La condition "valide si " tu la rentres toi même en fonction de ce que tu veux obtenir ou au contraire rejeter, par négation comme l'exemple si dessus qui empêche d'inscrire les participants ayant plus de 20 ans.
        2. Bonjour
          Si tu inscris un faux N°, pour avoir une reponse il utilisé NotList de la facon suivante:
          Private Sub ImmatRep_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
          Dans le cas présent c'est une immatriculation de vehicule pour ouvrir un formulaire vierge lorsque l'immatriculation n'était pas dans la liste avec le message du MsgBox..
          Maintenant si tu veux la procedure pour ouvrir un formulaire pour ajouter un N° a ta liste fais le savoir. Elle viendra en complement de celle-ci
      2. Bonjour
        merci pour ta reponse CASTOURS je vais tester dans la journée.
        et oui je veux bien la procédur pour ouvrire un fourmulaire pour ajouter le numéro.

        merci d'avance
        1. Bonjour
          Voici les 2 procedures lorsqu'il manque un enregistrement dans une liste.
          Fonctionnement

          1) Un enregistrement different de la liste fait appel de la procedure notlist.
          2)Cette procedure demande de cliquer 2 fois pour ouvrir un formulaire dependant d'une teble ou requete a fin d'ajouter un enregistrement a la table dont dépend ta liste deroulante.

          Dans le cas présent c'est le manque d'une immatriculation d'un véhicule
          ImmatRep est le nom de la liste deroulant
          Véhicules est le nom du formulaire

          Private Sub ImmatRep_DblClick(Cancel As Integer)
          On Error GoTo Err_ImmatRep_DblClick
          Dim strImmatID As String
          'Recherche une immatriculation
          If IsNull(Me![ImmatRep]) Then
          Me![ImmatRep].Text = ""
          Else
          strImmatID = Me![ImmatRep]
          Me![ImmatRep] = Null
          End If
          'Ouverture du formulaire Véhicules
          DoCmd.OpenForm "Véhicules", , , , , acDialog, "GotoNew"
          Me![ImmatRep].Requery
          If strImmatID <> 0 Then Me![ImmatRep] = strImmatID
          Exit_ImmatRep_DblClick:
          Exit Sub

          Err_ImmatRep_DblClick:
          MsgBox Err.Description
          Resume Exit_ImmatRep_DblClick
          End Sub

          Private Sub ImmatRep_NotInList(NewData As String, Response As Integer)
          'Abscence d'eneregistrement dans une liste
          MsgBox "Cliquez deux fois sur ce champ pour ajouter une entrée dans la liste."
          Response = acDataErrContinue
          End Sub
      3. bonjour castours
        super excellent
        j'ai juste le message d'access (le texte entré n'est pas un élément de la liste.
        merci
        1. Bonjour
          Si le texte d'avertissement ne te convient pas tu peux le changer en le remplaçant dans le code entre les guillemets.
          1. YES YES YES MERCI
            ET BONNE ANNEE 2013
            1. Pour toi aussi et surtout une bonne santé