OVH Cloud OVH Cloud

zone liste

4 réponses
Avatar
Bauwens François
salut,

je ne parviens pas à faire en sorte que ma liste déroulante accepte de
nouvelles données à mettre dans la table ! Comment fait-on cela ? Limiter la
liste sur non ne fonctionne pas si je garde la première colonne de la liste
cachée. Or c'est ma clef primaire qui est un numauto. Moi je veux juste
entrer un nom et qu'il l'enregistre dans la table pour qu'il apparaisse dans
la liste...

Merci de votre aide
Merci

4 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

En fait tu dois laisser la propriété "limiter à liste" à Oui.

Ensuite, il te faut faire un petit code que tu mettras sur l'évènement
"sur absence dans liste" pour faire ton ajout de donnée genre :

Private Sub taListe_NotInList(NouvDonnée As String, _
Réponse As Integer)

If MsgBox("Cette valeur ne figure pas dans la liste. Faut-il l'ajouter
?", _
vbOKCancel) = vbOK Then
Réponse = acDataErrAdded
currentdb.execute "INSERT INTO taTable( TonChamp ) " _
& "SELECT " & NouvDonnée & ";"
me.taListe.requery
Else
Réponse = acDataErrContinue
End If
End Sub

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bauwens François" a écrit dans le message de
news:
salut,

je ne parviens pas à faire en sorte que ma liste déroulante accepte de
nouvelles données à mettre dans la table ! Comment fait-on cela ? Limiter
la

liste sur non ne fonctionne pas si je garde la première colonne de la
liste

cachée. Or c'est ma clef primaire qui est un numauto. Moi je veux juste
entrer un nom et qu'il l'enregistre dans la table pour qu'il apparaisse
dans

la liste...

Merci de votre aide
Merci




Avatar
Bauwens François
Merci Jessy,

Je comprends la logique proposée mais je n'en maitrise pas la grammaire et
j'ai un problème pour faire fonctionner le code ! Je l'ai adapté en :
Private Sub autr_NotInList(NewData As String, Response As Integer)
If MsgBox("Cette valeur ne figure pas dans la liste. Faut-il l'ajouter
?", _
vbOKCancel) = vbOK Then
Response = acDataErrAdded
CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT " & NewData & ";"
Me.autr.Requery
Else
Response = acDataErrContinue
End If
End Sub

mais j'ai une erreur sur
CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT " & NewData & ";"
le message est : erreur d'execution 3061
trop peu de paramètre. 1 attendu

Vois-tu ce que ça peu être ?
Merci

"Jessy Sempere [MVP]" a écrit dans le message de
news:4343ea88$
Bonjour

En fait tu dois laisser la propriété "limiter à liste" à Oui.

Ensuite, il te faut faire un petit code que tu mettras sur l'évènement
"sur absence dans liste" pour faire ton ajout de donnée genre :

Private Sub taListe_NotInList(NouvDonnée As String, _
Réponse As Integer)

If MsgBox("Cette valeur ne figure pas dans la liste. Faut-il l'ajouter
?", _
vbOKCancel) = vbOK Then
Réponse = acDataErrAdded
currentdb.execute "INSERT INTO taTable( TonChamp ) " _
& "SELECT " & NouvDonnée & ";"
me.taListe.requery
Else
Réponse = acDataErrContinue
End If
End Sub

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bauwens François" a écrit dans le message de
news:
salut,

je ne parviens pas à faire en sorte que ma liste déroulante accepte de
nouvelles données à mettre dans la table ! Comment fait-on cela ?
Limiter


la
liste sur non ne fonctionne pas si je garde la première colonne de la
liste

cachée. Or c'est ma clef primaire qui est un numauto. Moi je veux juste
entrer un nom et qu'il l'enregistre dans la table pour qu'il apparaisse
dans

la liste...

Merci de votre aide
Merci








Avatar
Jessy Sempere [MVP]
Bonjour

Si c'est une donnée de type texte, essais :

CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT '" & NewData & "';"



@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bauwens François" a écrit dans le message de
news:
Merci Jessy,

Je comprends la logique proposée mais je n'en maitrise pas la grammaire et
j'ai un problème pour faire fonctionner le code ! Je l'ai adapté en :
Private Sub autr_NotInList(NewData As String, Response As Integer)
If MsgBox("Cette valeur ne figure pas dans la liste. Faut-il l'ajouter
?", _
vbOKCancel) = vbOK Then
Response = acDataErrAdded
CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT " & NewData & ";"
Me.autr.Requery
Else
Response = acDataErrContinue
End If
End Sub

mais j'ai une erreur sur
CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT " & NewData & ";"
le message est : erreur d'execution 3061
trop peu de paramètre. 1 attendu

Vois-tu ce que ça peu être ?
Merci

"Jessy Sempere [MVP]" a écrit dans le message
de

news:4343ea88$
Bonjour

En fait tu dois laisser la propriété "limiter à liste" à Oui.

Ensuite, il te faut faire un petit code que tu mettras sur l'évènement
"sur absence dans liste" pour faire ton ajout de donnée genre :

Private Sub taListe_NotInList(NouvDonnée As String, _
Réponse As Integer)

If MsgBox("Cette valeur ne figure pas dans la liste. Faut-il
l'ajouter


?", _
vbOKCancel) = vbOK Then
Réponse = acDataErrAdded
currentdb.execute "INSERT INTO taTable( TonChamp ) " _
& "SELECT " & NouvDonnée & ";"
me.taListe.requery
Else
Réponse = acDataErrContinue
End If
End Sub

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bauwens François" a écrit dans le message de
news:
salut,

je ne parviens pas à faire en sorte que ma liste déroulante accepte de
nouvelles données à mettre dans la table ! Comment fait-on cela ?
Limiter


la
liste sur non ne fonctionne pas si je garde la première colonne de la
liste

cachée. Or c'est ma clef primaire qui est un numauto. Moi je veux
juste



entrer un nom et qu'il l'enregistre dans la table pour qu'il
apparaisse



dans
la liste...

Merci de votre aide
Merci












Avatar
Bauwens François
Merci, ça marche. Le requery ne fonctionne pas. Je l'ai viré, ça n'a pas
l'air d'avoir d'impact.
Encore merci
"Jessy Sempere [MVP]" a écrit dans le message de
news:4344d676$
Bonjour

Si c'est une donnée de type texte, essais :

CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT '" & NewData & "';"



@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bauwens François" a écrit dans le message de
news:
Merci Jessy,

Je comprends la logique proposée mais je n'en maitrise pas la grammaire
et


j'ai un problème pour faire fonctionner le code ! Je l'ai adapté en :
Private Sub autr_NotInList(NewData As String, Response As Integer)
If MsgBox("Cette valeur ne figure pas dans la liste. Faut-il
l'ajouter


?", _
vbOKCancel) = vbOK Then
Response = acDataErrAdded
CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT " & NewData & ";"
Me.autr.Requery
Else
Response = acDataErrContinue
End If
End Sub

mais j'ai une erreur sur
CurrentDb.Execute "INSERT INTO evenement(autress) " _
& "SELECT " & NewData & ";"
le message est : erreur d'execution 3061
trop peu de paramètre. 1 attendu

Vois-tu ce que ça peu être ?
Merci

"Jessy Sempere [MVP]" a écrit dans le
message


de
news:4343ea88$
Bonjour

En fait tu dois laisser la propriété "limiter à liste" à Oui.

Ensuite, il te faut faire un petit code que tu mettras sur l'évènement
"sur absence dans liste" pour faire ton ajout de donnée genre :

Private Sub taListe_NotInList(NouvDonnée As String, _
Réponse As Integer)

If MsgBox("Cette valeur ne figure pas dans la liste. Faut-il
l'ajouter


?", _
vbOKCancel) = vbOK Then
Réponse = acDataErrAdded
currentdb.execute "INSERT INTO taTable( TonChamp ) " _
& "SELECT " & NouvDonnée & ";"
me.taListe.requery
Else
Réponse = acDataErrContinue
End If
End Sub

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Bauwens François" a écrit dans le message
de



news:
salut,

je ne parviens pas à faire en sorte que ma liste déroulante accepte
de




nouvelles données à mettre dans la table ! Comment fait-on cela ?
Limiter


la
liste sur non ne fonctionne pas si je garde la première colonne de
la




liste
cachée. Or c'est ma clef primaire qui est un numauto. Moi je veux
juste



entrer un nom et qu'il l'enregistre dans la table pour qu'il
apparaisse



dans
la liste...

Merci de votre aide
Merci