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

Autoriser nouvel enregistrement dans une table à partir d'un formulaire

2 réponses
Avatar
habby
Bonjour à tous,

J'ai un "petit" soucis de codage, si vous trouvez réponse à ma question ça serait génial. Voilà le problème:

J'ai un formulaire nommé F_animaux-eleveur-naisseur. Dans ce formulaire il y a une liste déroulante combo125 qui permet de sélectionner un nom issu d'une requête Q_animaux-eleveur-naisseur. Si le nom n'est pas disponible dans la liste, j'aimerai proposer de l'enregistrer dans la requête.

Pour cela j'ai vu qu'il était possible de se servir de la fonction "insert into". J'ai mis le code:

Private Sub Combo125_NotInList(NewData As String, Response As Integer)
If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des noms des naisseurs ?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
DoCmd.RunSQL "INSERT INTO Q_animaux-eleveur-naisseur (nom_naisseur) VALUES (& NewData &)"
Else
Response = acDataErrContinue
Combo125.Undo
End If
End Sub

Access m'affiche alors le message d'erreur: "can't execute code in break mode". Qu'est-ce qui ne lui plait pas ?

J'espère avoir donné assez d'informations pour que quelqu'un puisse me débloquer.

Merci d'avance.

2 réponses

Avatar
db
Le 21/12/2012 14:29, habby a écrit :
Bonjour à tous,


DoCmd.RunSQL "INSERT INTO Q_animaux-eleveur-naisseur (nom_naisseur)
VALUES (& NewData &)"

Access m'affiche alors le message d'erreur: "can't execute code in break mode".
Qu'est-ce qui ne lui plait pas ?



Bonjour,

J'avoue n'avoir jamais vu ce message, et il serait utile de savoir à
l'exécution de quelle ligne précisément il s'affiche, mais de toute
façon, je modifierais la ligne Docmd.RunSQL comme ceci :

DoCmd.RunSQL "INSERT INTO Q_animaux-eleveur-naisseur (nom_naisseur)
VALUES ('" & NewData & "')"

(après la parenthèse ouvrante suivant VALUES : apostrophe puis
guillemet, avant la parenthèse fermante : guillemet puis apostrophe)

db
Avatar
Gloops
db a écrit, le 21/12/2012 14:46 :
Le 21/12/2012 14:29, habby a écrit :
Bonjour à tous,




DoCmd.RunSQL "INSERT INTO Q_animaux-eleveur-naisseur
(nom_naisseur)
VALUES (& NewData &)"

Access m'affiche alors le message d'erreur: "can't execute code in
break mode".
Qu'est-ce qui ne lui plait pas ?



Bonjour,

J'avoue n'avoir jamais vu ce message, et il serait utile de savoir à
l'exécution de quelle ligne précisément il s'affiche, mais de tou te
façon, je modifierais la ligne Docmd.RunSQL comme ceci :

DoCmd.RunSQL "INSERT INTO Q_animaux-eleveur-naisseur (nom_naisseur)
VALUES ('" & NewData & "')"

(après la parenthèse ouvrante suivant VALUES : apostrophe puis
guillemet, avant la parenthèse fermante : guillemet puis apostrophe)

db




Bonjour,

Ah ben moi, ce que j'ai compris, c'est que ça se produit sur DoCmd.RunS QL

Et si il ne veut pas exécuter ça en pas à pas (au motif peut-être bien
que la base de données est dans une instance différente du code, ou u ne
astuce du style), il faut le laisser exécuter en vitesse normale : poin t
d'arrêt sur l'instruction suivante (avec F9 si je ne m'abuse, et ça d oit
mettre la ligne en rouge -la ligne suivante, hein, j'insiste bien), et
appuyer sur F5. Non ?