Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

liste déroulante

4 réponses
Avatar
Péric
Bonjour à tous,
j'ai une liste déroulante avec ville et code postal, lorsque la ville
n'est pas dans la liste j'utilise la propriété NoInList pour ouvrir un
formulaire contenant les champs NOMVILLE et CPVILLE en préremplissant le
champ NOMVILLE avec ce qui a été tapé dans ma liste (j'utilise le code
de la FAQ)
Private Sub Code_Ville_NotInList(NewData As String, Response As Integer)
If MsgBox(UCase(NewData) & " n'existe pas dans la liste des villes,
voulez-vous l'ajouter ?", vbYesNo + vbQuestion + vbDefaultButton1,
"AJOUT VILLE") Then
Response = acDataErrAdded
DoCmd.OpenForm "frm ville",acFormDs , , , acFormAdd
Forms![frm ville]![NOMVILLE]= NewData


Else
Response = acDataErrContinue
Code_Ville.Undo
End If

End Sub
Mais le pb est que
1 le code postal que je tape dans mon formulaire à la suite du NOMVILLE
n'est pas pris en compte
2 la mise à jour de ma liste déroulante non plus, elle est située dans
un sous formulaire :
Private Sub Form_Activate()
Forms![frm_info_eleve]![sfrm responsables+ville].Form![Code
Ville].Requery
End Sub
Puis-je encore abuser de votre temps? Merci.

4 réponses

Avatar
ze Titi
Bonjour Péric

Plutôt que de faire un requery lors de l'enregistrement de la nouvelle
ville, je te suggère plutôt un Recalc du formulaire complet:
Forms("frm_info_eleve").Recalc

Dis-nous !

Dans ton message du mardi
Bonjour à tous,
j'ai une liste déroulante avec ville et code postal, lorsque la ville n'est
pas dans la liste j'utilise la propriété NoInList pour ouvrir un formulaire
contenant les champs NOMVILLE et CPVILLE en préremplissant le champ NOMVILLE
avec ce qui a été tapé dans ma liste (j'utilise le code de la FAQ)
Private Sub Code_Ville_NotInList(NewData As String, Response As Integer)
If MsgBox(UCase(NewData) & " n'existe pas dans la liste des villes,
voulez-vous l'ajouter ?", vbYesNo + vbQuestion + vbDefaultButton1, "AJOUT
VILLE") Then
Response = acDataErrAdded
DoCmd.OpenForm "frm ville",acFormDs , , , acFormAdd
Forms![frm ville]![NOMVILLE]= NewData


Else
Response = acDataErrContinue
Code_Ville.Undo
End If

End Sub
Mais le pb est que
1 le code postal que je tape dans mon formulaire à la suite du NOMVILLE n'est
pas pris en compte
2 la mise à jour de ma liste déroulante non plus, elle est située dans un
sous formulaire :
Private Sub Form_Activate()
Forms![frm_info_eleve]![sfrm responsables+ville].Form![Code
Ville].Requery
End Sub
Puis-je encore abuser de votre temps? Merci.


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Péric
Bonjour Péric

Plutôt que de faire un requery lors de l'enregistrement de la nouvelle
ville, je te suggère plutôt un Recalc du formulaire complet:
Forms("frm_info_eleve").Recalc

Dis-nous !

Dans ton message du mardi
Bonjour à tous,
j'ai une liste déroulante avec ville et code postal, lorsque la ville
n'est pas dans la liste j'utilise la propriété NoInList pour ouvrir un
formulaire contenant les champs NOMVILLE et CPVILLE en préremplissant
le champ NOMVILLE avec ce qui a été tapé dans ma liste (j'utilise le
code de la FAQ)
Private Sub Code_Ville_NotInList(NewData As String, Response As Integer)
If MsgBox(UCase(NewData) & " n'existe pas dans la liste des
villes, voulez-vous l'ajouter ?", vbYesNo + vbQuestion +
vbDefaultButton1, "AJOUT VILLE") Then
Response = acDataErrAdded
DoCmd.OpenForm "frm ville",acFormDs , , , acFormAdd
Forms![frm ville]![NOMVILLE]= NewData


Else
Response = acDataErrContinue
Code_Ville.Undo
End If

End Sub
Mais le pb est que
1 le code postal que je tape dans mon formulaire à la suite du
NOMVILLE n'est pas pris en compte
2 la mise à jour de ma liste déroulante non plus, elle est située dans
un sous formulaire :
Private Sub Form_Activate()
Forms![frm_info_eleve]![sfrm responsables+ville].Form![Code
Ville].Requery
End Sub
Puis-je encore abuser de votre temps? Merci.


Bonsoir et merci, non ça ne marche pas mais c'est aussi sans doute que

je suis loin de tout maitriser. je ne suis pas arrivé à trouver d'info
sur le Response, que signifie AcDataErrAdded?
Je me retrouve avec deux enregistrements identiques dans ma table ville
Merci


Avatar
ze Titi
Salut Péric !

J'ai oublié de préciser...
En fait, dans ton cas, comme tu utilises un formulaire pour saisir la
nouvelle donnée, remplace le
Response¬DataErrAdded
par
Response¬DataErrContinue

Ca doit fonctionner (utilisé régulièrement dans mes applis)
Dis-nous !

En ce jour exceptionnel du mardi 29/05/2007, tu nous as très
généreusement gratifié du message suivant:

Bonjour Péric

Plutôt que de faire un requery lors de l'enregistrement de la nouvelle
ville, je te suggère plutôt un Recalc du formulaire complet:
Forms("frm_info_eleve").Recalc

Dis-nous !

Dans ton message du mardi
Bonjour à tous,
j'ai une liste déroulante avec ville et code postal, lorsque la ville
n'est pas dans la liste j'utilise la propriété NoInList pour ouvrir un
formulaire contenant les champs NOMVILLE et CPVILLE en préremplissant le
champ NOMVILLE avec ce qui a été tapé dans ma liste (j'utilise le code de
la FAQ)
Private Sub Code_Ville_NotInList(NewData As String, Response As Integer)
If MsgBox(UCase(NewData) & " n'existe pas dans la liste des villes,
voulez-vous l'ajouter ?", vbYesNo + vbQuestion + vbDefaultButton1, "AJOUT
VILLE") Then
Response = acDataErrAdded
DoCmd.OpenForm "frm ville",acFormDs , , , acFormAdd
Forms![frm ville]![NOMVILLE]= NewData


Else
Response = acDataErrContinue
Code_Ville.Undo
End If

End Sub
Mais le pb est que
1 le code postal que je tape dans mon formulaire à la suite du NOMVILLE
n'est pas pris en compte
2 la mise à jour de ma liste déroulante non plus, elle est située dans un
sous formulaire :
Private Sub Form_Activate()
Forms![frm_info_eleve]![sfrm responsables+ville].Form![Code
Ville].Requery
End Sub
Puis-je encore abuser de votre temps? Merci.


Bonsoir et merci, non ça ne marche pas mais c'est aussi sans doute que je

suis loin de tout maitriser. je ne suis pas arrivé à trouver d'info sur le
Response, que signifie AcDataErrAdded?
Je me retrouve avec deux enregistrements identiques dans ma table ville
Merci


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info



Avatar
Péric
Salut Péric !

J'ai oublié de préciser...
En fait, dans ton cas, comme tu utilises un formulaire pour saisir la
nouvelle donnée, remplace le
Response¬DataErrAdded
par
Response¬DataErrContinue

Ca doit fonctionner (utilisé régulièrement dans mes applis)
Dis-nous !

En ce jour exceptionnel du mardi 29/05/2007, tu nous as très
généreusement gratifié du message suivant:

Bonjour Péric

Plutôt que de faire un requery lors de l'enregistrement de la
nouvelle ville, je te suggère plutôt un Recalc du formulaire complet:
Forms("frm_info_eleve").Recalc

Dis-nous !

Dans ton message du mardi
Bonjour à tous,
j'ai une liste déroulante avec ville et code postal, lorsque la
ville n'est pas dans la liste j'utilise la propriété NoInList pour
ouvrir un formulaire contenant les champs NOMVILLE et CPVILLE en
préremplissant le champ NOMVILLE avec ce qui a été tapé dans ma
liste (j'utilise le code de la FAQ)
Private Sub Code_Ville_NotInList(NewData As String, Response As
Integer)
If MsgBox(UCase(NewData) & " n'existe pas dans la liste des
villes, voulez-vous l'ajouter ?", vbYesNo + vbQuestion +
vbDefaultButton1, "AJOUT VILLE") Then
Response = acDataErrAdded
DoCmd.OpenForm "frm ville",acFormDs , , , acFormAdd
Forms![frm ville]![NOMVILLE]= NewData


Else
Response = acDataErrContinue
Code_Ville.Undo
End If

End Sub
Mais le pb est que
1 le code postal que je tape dans mon formulaire à la suite du
NOMVILLE n'est pas pris en compte
2 la mise à jour de ma liste déroulante non plus, elle est située
dans un sous formulaire :
Private Sub Form_Activate()
Forms![frm_info_eleve]![sfrm responsables+ville].Form![Code
Ville].Requery
End Sub
Puis-je encore abuser de votre temps? Merci.


Bonsoir et merci, non ça ne marche pas mais c'est aussi sans doute que

je suis loin de tout maitriser. je ne suis pas arrivé à trouver d'info
sur le Response, que signifie AcDataErrAdded?
Je me retrouve avec deux enregistrements identiques dans ma table ville
Merci


Bonjour,

Oui, ça marche mais en fait je suis plutôt passer par une écriture
directe dans la table. Où est-ce que je peux trouver des explications
sur cette Response et acDataErr? pour comprendre le code exposé dans la
FAQ sur la liste déroulante et le NotInList?
Merci