Access zone de texte déroulante

Fermé
jmb91220 Messages postés 6 Date d'inscription samedi 8 décembre 2012 Statut Membre Dernière intervention 11 août 2013 - 8 déc. 2012 à 13:53
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 28 déc. 2012 à 00:29
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
A voir également:

8 réponses

Bonsoir,
Sélectionner les propriétés de la liste déroulante "Limité à liste" = Oui + "Message si erreur" = "Blablablabla"
Bon courage
0
jmb91220 Messages postés 6 Date d'inscription samedi 8 décembre 2012 Statut Membre Dernière intervention 11 août 2013
8 déc. 2012 à 23:41
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
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
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
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
9 déc. 2012 à 19:31
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
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
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
15 déc. 2012 à 10:40
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
17 déc. 2012 à 23:23
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
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
27 déc. 2012 à 11:17
Bonjour
Problemes resolus?
0
jmb91220 Messages postés 6 Date d'inscription samedi 8 décembre 2012 Statut Membre Dernière intervention 11 août 2013
27 déc. 2012 à 22:08
YES YES YES MERCI
ET BONNE ANNEE 2013
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
28 déc. 2012 à 00:29
Pour toi aussi et surtout une bonne santé
0