Access zone de texte déroulante

jmb91220 Messages postés 7 Statut Membre -  
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. tessel57
     
    Bonsoir,
    Sélectionner les propriétés de la liste déroulante "Limité à liste" = Oui + "Message si erreur" = "Blablablabla"
    Bon courage
    0
  2. jmb91220 Messages postés 7 Statut Membre
     
    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
    0
  3. tessel57
     
    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" .
    0
    1. tessel57
       
      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.
      0
    2. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
       
      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
      0
  4. jmb13700
     
    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
    0
    1. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
       
      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
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jmb13700
     
    bonjour castours
    super excellent
    j'ai juste le message d'access (le texte entré n'est pas un élément de la liste.
    merci
    0
  7. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    Bonjour
    Si le texte d'avertissement ne te convient pas tu peux le changer en le remplaçant dans le code entre les guillemets.
    0
  8. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    Bonjour
    Problemes resolus?
    0
  9. jmb91220 Messages postés 7 Statut Membre
     
    YES YES YES MERCI
    ET BONNE ANNEE 2013
    0
    1. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
       
      Pour toi aussi et surtout une bonne santé
      0