(ACCESS) sur absence ds liste

plunulp -  
 plunulp -
Salut,

J'ai une liste déroulante Processus qui porte sur la table Usys Processus. J'ai coché 'limiter aux élements de la liste' ds les propriétés de la liste et je souhaite pouvoir ajouter une valeur à cette liste, sans ouvrir la table à l'écran, après avoir confirmé.

Voilà mon code :

Private Sub Processus_NotInList(NewData As String, Response As Integer)
If MsgBox("Cette valeur ne figure pas dans la liste." & vbCrLf & _
"Voulez-vous l'ajouter ?", vbYesNo, NouvelleValeur & ": Valeur inconnue") _
= vbYes Then
Dim Str As String
Dim Rs As Recordset
Str = "INSERT INTO Processus VALUES ('" + Processus.Value + "');"
Set Rs = CurrentDb.CreateQueryDef("", Str)
On Error Resume Next
Rs.Execute dbFailOnError
Processus.Requery
End Sub

ça n'a pas l'air de fonctionner.. access ne comprends pas Rs.Execute.. et je ne suis pas assez balaise en code pour comprendre pourquoi ça bloque :-(

Merci de votre aide !
A voir également:

2 réponses

blux Messages postés 27989 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

il vaut mieux utiliser DoCmd.RunSQL pour les requêtes 'action', celles qui modifient les données :
Dim Str As String
Str = "INSERT INTO Processus VALUES ('" + Processus.Value + "');"
DoCmd.RunSQL Str
Ca devrait aller beaucoup mieux...
1
plunulp
 
Effectivement ça va mieux :-)

Grand merci :-D
0