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

Formulaire et liste déroulante

7 réponses
Avatar
VéBéHa
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une petite
application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche le
contenu (code, nom, prenom) et mémorise le code quand l'info est retenue;
jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche n'est pas
dans cette table alors que je suis en pleine saisie, que faire ?
En faisant un essai de saisie de code inexistant, quand la liste perd le
focus j'ai une erreur 3201, est-ce qu'on doit exploiter cette erreur ? ou
peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa

7 réponses

Avatar
Fabien
VéBéHa a écrit :
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une petite
application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche le
contenu (code, nom, prenom) et mémorise le code quand l'info est
retenue; jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche n'est
pas dans cette table alors que je suis en pleine saisie, que faire ?
En faisant un essai de saisie de code inexistant, quand la liste perd le
focus j'ai une erreur 3201, est-ce qu'on doit exploiter cette erreur ?
ou peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa


Salut,
Il faut passé par l'évenement "Sur absence dans liste"
ex :
Private Sub Ville_Club_Organisateur_NotInList(NewData As String,
Response As Integer)
If MsgBox("Ville Inconnue. Ajout dans la liste ? ", vbYesNo) =
vbYes Then
Response = acDataErrAdded
DoCmd.SetWarnings False
'on ajoute la clé dans la table
DoCmd.RunSQL "INSERT INTO Kilometrages ( [Nom Ville Club] )
SELECT '" & NewData & "' AS Nom;"
'on ouvre le formulaire pour permettre la saisie des infos
complémentaires pour la cléf ajoutée
DoCmd.OpenForm "Saisie Kilométrage", acNormal, , "[Nom Ville
Club]='" & NewData & "'", , acDialog
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
Me.Ville_Club_Organisateur.Undo
End If
End Sub
@+
Avatar
VéBéHa
Salut ,
en voilà du code !
bon cela a l'air intéressant !
je vais l'adapter à mon fichier et je dis quoi !
merci bcp
@+
"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une petite
application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche le
contenu (code, nom, prenom) et mémorise le code quand l'info est retenue;
jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche n'est pas
dans cette table alors que je suis en pleine saisie, que faire ?
En faisant un essai de saisie de code inexistant, quand la liste perd le
focus j'ai une erreur 3201, est-ce qu'on doit exploiter cette erreur ? ou
peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa


Salut,
Il faut passé par l'évenement "Sur absence dans liste"
ex :
Private Sub Ville_Club_Organisateur_NotInList(NewData As String, Response
As Integer)
If MsgBox("Ville Inconnue. Ajout dans la liste ? ", vbYesNo) = vbYes
Then
Response = acDataErrAdded
DoCmd.SetWarnings False
'on ajoute la clé dans la table
DoCmd.RunSQL "INSERT INTO Kilometrages ( [Nom Ville Club] ) SELECT
'" & NewData & "' AS Nom;"
'on ouvre le formulaire pour permettre la saisie des infos complémentaires
pour la cléf ajoutée
DoCmd.OpenForm "Saisie Kilométrage", acNormal, , "[Nom Ville
Club]='" & NewData & "'", , acDialog
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
Me.Ville_Club_Organisateur.Undo
End If
End Sub
@+


Avatar
VéBéHa
Bon je viens de l'adapter mais cela ne marche pas, du moins comme je le
pensait, j'ai toujours la boite de dialogue Access plutôt que la perso !
http://cjoint.com/?dfiHOlCyj3 pour illuster.
Il y a peut-etre un paramètre Access à modifier ?
Merci


"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une petite
application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche le
contenu (code, nom, prenom) et mémorise le code quand l'info est retenue;
jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche n'est pas
dans cette table alors que je suis en pleine saisie, que faire ?
En faisant un essai de saisie de code inexistant, quand la liste perd le
focus j'ai une erreur 3201, est-ce qu'on doit exploiter cette erreur ? ou
peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa


Salut,
Il faut passé par l'évenement "Sur absence dans liste"
ex :
Private Sub Ville_Club_Organisateur_NotInList(NewData As String, Response
As Integer)
If MsgBox("Ville Inconnue. Ajout dans la liste ? ", vbYesNo) = vbYes
Then
Response = acDataErrAdded
DoCmd.SetWarnings False
'on ajoute la clé dans la table
DoCmd.RunSQL "INSERT INTO Kilometrages ( [Nom Ville Club] ) SELECT
'" & NewData & "' AS Nom;"
'on ouvre le formulaire pour permettre la saisie des infos complémentaires
pour la cléf ajoutée
DoCmd.OpenForm "Saisie Kilométrage", acNormal, , "[Nom Ville
Club]='" & NewData & "'", , acDialog
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
Me.Ville_Club_Organisateur.Undo
End If
End Sub
@+


Avatar
Fabien
VéBéHa a écrit :
Bon je viens de l'adapter mais cela ne marche pas, du moins comme je le
pensait, j'ai toujours la boite de dialogue Access plutôt que la perso !
http://cjoint.com/?dfiHOlCyj3 pour illuster.
Il y a peut-etre un paramètre Access à modifier ?
Merci


"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une
petite application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche
le contenu (code, nom, prenom) et mémorise le code quand l'info est
retenue; jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche n'est
pas dans cette table alors que je suis en pleine saisie, que faire ?
En faisant un essai de saisie de code inexistant, quand la liste perd
le focus j'ai une erreur 3201, est-ce qu'on doit exploiter cette
erreur ? ou peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa


Salut,
Il faut passé par l'évenement "Sur absence dans liste"
ex :
Private Sub Ville_Club_Organisateur_NotInList(NewData As String,
Response As Integer)
If MsgBox("Ville Inconnue. Ajout dans la liste ? ", vbYesNo) =
vbYes Then
Response = acDataErrAdded
DoCmd.SetWarnings False
'on ajoute la clé dans la table
DoCmd.RunSQL "INSERT INTO Kilometrages ( [Nom Ville Club] )
SELECT '" & NewData & "' AS Nom;"
'on ouvre le formulaire pour permettre la saisie des infos
complémentaires pour la cléf ajoutée
DoCmd.OpenForm "Saisie Kilométrage", acNormal, , "[Nom Ville
Club]='" & NewData & "'", , acDialog
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
Me.Ville_Club_Organisateur.Undo
End If
End Sub
@+





Ce message apparait car dans ton modèle relationnel tu a indiqué qu'il y
avait un lien entre la table dans laquelle tu souhaites enregistrer
cette nouvelle info et la table personnel. De plus tu as demandé au
système de contrôler l'intégrité référentielle.
Donc tant que tu n'as pas d'enreg dans la table personnel correspondant
a l'enreg que tu veux ajouter dans la table du formulaire t'es marron ;-)
Essai d'ajouter d'abord l'infos dans la table personnel puis dans la
table sur laquelle pointe ta liste.
@+
Avatar
VéBéHa
Tout n'est pas clair dans ma tête ...
Donc si je comprend bien, en l'état actuel des choses, je ne peux pas gérer
cet état de fait ?
Si je met en place l'intégrité référentielle j'ai le message d'erreur, si je
la retire, pas de message d'erreur mais la procédure événementielle ne se
déclanche pas !
Je te propose de tester mon petit mdb, et si tu pouvais me dépatouiller ce
serait cool.
http://cjoint.com/?dfj7TxSpI2
merci

"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bon je viens de l'adapter mais cela ne marche pas, du moins comme je le
pensait, j'ai toujours la boite de dialogue Access plutôt que la perso !
http://cjoint.com/?dfiHOlCyj3 pour illuster.
Il y a peut-etre un paramètre Access à modifier ?
Merci


"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une petite
application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche le
contenu (code, nom, prenom) et mémorise le code quand l'info est
retenue; jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche n'est
pas dans cette table alors que je suis en pleine saisie, que faire ?
En faisant un essai de saisie de code inexistant, quand la liste perd
le focus j'ai une erreur 3201, est-ce qu'on doit exploiter cette erreur
? ou peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa


Salut,
Il faut passé par l'évenement "Sur absence dans liste"
ex :
Private Sub Ville_Club_Organisateur_NotInList(NewData As String,
Response As Integer)
If MsgBox("Ville Inconnue. Ajout dans la liste ? ", vbYesNo) = vbYes
Then
Response = acDataErrAdded
DoCmd.SetWarnings False
'on ajoute la clé dans la table
DoCmd.RunSQL "INSERT INTO Kilometrages ( [Nom Ville Club] )
SELECT '" & NewData & "' AS Nom;"
'on ouvre le formulaire pour permettre la saisie des infos
complémentaires pour la cléf ajoutée
DoCmd.OpenForm "Saisie Kilométrage", acNormal, , "[Nom Ville
Club]='" & NewData & "'", , acDialog
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
Me.Ville_Club_Organisateur.Undo
End If
End Sub
@+





Ce message apparait car dans ton modèle relationnel tu a indiqué qu'il y
avait un lien entre la table dans laquelle tu souhaites enregistrer cette
nouvelle info et la table personnel. De plus tu as demandé au système de
contrôler l'intégrité référentielle.
Donc tant que tu n'as pas d'enreg dans la table personnel correspondant a
l'enreg que tu veux ajouter dans la table du formulaire t'es marron ;-)
Essai d'ajouter d'abord l'infos dans la table personnel puis dans la table
sur laquelle pointe ta liste.
@+


Avatar
Fabien
VéBéHa a écrit :
Tout n'est pas clair dans ma tête ...
Donc si je comprend bien, en l'état actuel des choses, je ne peux pas
gérer cet état de fait ?
Si je met en place l'intégrité référentielle j'ai le message d'erreur,
si je la retire, pas de message d'erreur mais la procédure
événementielle ne se déclanche pas !
Je te propose de tester mon petit mdb, et si tu pouvais me dépatouiller
ce serait cool.
http://cjoint.com/?dfj7TxSpI2
merci

"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bon je viens de l'adapter mais cela ne marche pas, du moins comme je
le pensait, j'ai toujours la boite de dialogue Access plutôt que la
perso !
http://cjoint.com/?dfiHOlCyj3 pour illuster.
Il y a peut-etre un paramètre Access à modifier ?
Merci


"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une
petite application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche
le contenu (code, nom, prenom) et mémorise le code quand l'info est
retenue; jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche
n'est pas dans cette table alors que je suis en pleine saisie, que
faire ?
En faisant un essai de saisie de code inexistant, quand la liste
perd le focus j'ai une erreur 3201, est-ce qu'on doit exploiter
cette erreur ? ou peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa


Salut,
Il faut passé par l'évenement "Sur absence dans liste"
ex :
Private Sub Ville_Club_Organisateur_NotInList(NewData As String,
Response As Integer)
If MsgBox("Ville Inconnue. Ajout dans la liste ? ", vbYesNo) =
vbYes Then
Response = acDataErrAdded
DoCmd.SetWarnings False
'on ajoute la clé dans la table
DoCmd.RunSQL "INSERT INTO Kilometrages ( [Nom Ville Club] )
SELECT '" & NewData & "' AS Nom;"
'on ouvre le formulaire pour permettre la saisie des infos
complémentaires pour la cléf ajoutée
DoCmd.OpenForm "Saisie Kilométrage", acNormal, , "[Nom Ville
Club]='" & NewData & "'", , acDialog
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
Me.Ville_Club_Organisateur.Undo
End If
End Sub
@+





Ce message apparait car dans ton modèle relationnel tu a indiqué qu'il
y avait un lien entre la table dans laquelle tu souhaites enregistrer
cette nouvelle info et la table personnel. De plus tu as demandé au
système de contrôler l'intégrité référentielle.
Donc tant que tu n'as pas d'enreg dans la table personnel
correspondant a l'enreg que tu veux ajouter dans la table du
formulaire t'es marron ;-)
Essai d'ajouter d'abord l'infos dans la table personnel puis dans la
table sur laquelle pointe ta liste.
@+





http://cjoint.com/?dfkHuDAa0W
Deux choses :
1-Dans les propriété de la liste : Limiter la liste : oui
2-[Code] est numérique donc dans ton filtre : docmd.openform
.....,"[Code]=" & NewData,,acDialog
@+
Avatar
VéBéHa
hé bien, c'est tout bon, tu as 10/10 !!
cela m'ouvre encore des fenêtres d'apprentissage ....
En tous cas, un très grand merci fabien pour ton aide et ta disponibilité.
Bonne continuation.
Cordialement

"Fabien" a écrit dans le message de
news:OGYVZN%
VéBéHa a écrit :
Tout n'est pas clair dans ma tête ...
Donc si je comprend bien, en l'état actuel des choses, je ne peux pas
gérer cet état de fait ?
Si je met en place l'intégrité référentielle j'ai le message d'erreur, si
je la retire, pas de message d'erreur mais la procédure événementielle ne
se déclanche pas !
Je te propose de tester mon petit mdb, et si tu pouvais me dépatouiller
ce serait cool.
http://cjoint.com/?dfj7TxSpI2
merci

"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bon je viens de l'adapter mais cela ne marche pas, du moins comme je le
pensait, j'ai toujours la boite de dialogue Access plutôt que la perso
!
http://cjoint.com/?dfiHOlCyj3 pour illuster.
Il y a peut-etre un paramètre Access à modifier ?
Merci


"Fabien" a écrit dans le message de
news:
VéBéHa a écrit :
Bonjour à vous,
je suis un faux débutant dans acces, alors je me lance dans une
petite application.
Pas trop compliquée pour commencer.
Dans le formulaire principal, j'ai une liste déroulante qui affiche
le contenu (code, nom, prenom) et mémorise le code quand l'info est
retenue; jusque là tout va bien !
mais je me suis posé une question : et si l'info que je cherche n'est
pas dans cette table alors que je suis en pleine saisie, que faire ?
En faisant un essai de saisie de code inexistant, quand la liste perd
le focus j'ai une erreur 3201, est-ce qu'on doit exploiter cette
erreur ? ou peut-être la solution est plus simple ??

En tous cas, je me rend aux experts ! :-)))

Merci par avance du coup de paluche.
Cordialement
VéBéHa


Salut,
Il faut passé par l'évenement "Sur absence dans liste"
ex :
Private Sub Ville_Club_Organisateur_NotInList(NewData As String,
Response As Integer)
If MsgBox("Ville Inconnue. Ajout dans la liste ? ", vbYesNo) =
vbYes Then
Response = acDataErrAdded
DoCmd.SetWarnings False
'on ajoute la clé dans la table
DoCmd.RunSQL "INSERT INTO Kilometrages ( [Nom Ville Club] )
SELECT '" & NewData & "' AS Nom;"
'on ouvre le formulaire pour permettre la saisie des infos
complémentaires pour la cléf ajoutée
DoCmd.OpenForm "Saisie Kilométrage", acNormal, , "[Nom Ville
Club]='" & NewData & "'", , acDialog
DoCmd.SetWarnings True
Else
Response = acDataErrContinue
Me.Ville_Club_Organisateur.Undo
End If
End Sub
@+





Ce message apparait car dans ton modèle relationnel tu a indiqué qu'il y
avait un lien entre la table dans laquelle tu souhaites enregistrer
cette nouvelle info et la table personnel. De plus tu as demandé au
système de contrôler l'intégrité référentielle.
Donc tant que tu n'as pas d'enreg dans la table personnel correspondant
a l'enreg que tu veux ajouter dans la table du formulaire t'es marron
;-)
Essai d'ajouter d'abord l'infos dans la table personnel puis dans la
table sur laquelle pointe ta liste.
@+





http://cjoint.com/?dfkHuDAa0W
Deux choses :
1-Dans les propriété de la liste : Limiter la liste : oui
2-[Code] est numérique donc dans ton filtre : docmd.openform
.....,"[Code]=" & NewData,,acDialog
@+