Autoriser nouvel enregistrement liste déroulante

Résolu/Fermé
Utilisateur anonyme - 21 déc. 2012 à 14:33
 Utilisateur anonyme - 14 janv. 2013 à 11:58
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.

4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 déc. 2012 à 07:54
Bonjour,

essayez ceci:

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

Bonne fete de Noel
0
Utilisateur anonyme
23 déc. 2012 à 10:28
Bonjour,

Quand je tape cette partie du code il me surligne ") VALUES (' " et le message d'erreur affiché est "compile error: expected: end of statement"

Bonnes fêtes de fin d'année à vous également.
0
Bonsoir

Je ne fais pas de programmation mais ceci t aidera peut être ..... il suffit dans les propriétés de ta liste déroulante , ligne limitee à liste tu reponds NON et tu pourrasrajouter des éléments dans ta liste
0
Utilisateur anonyme
27 déc. 2012 à 10:25
Bonjour,

Merci pour cette idée, mais hélàs elle ne fonctionne pas: il faut que je change la taille de la colonne de la liste déroulante et quand je le fais ça n'affiche plus le nom de l'éleveur mais son numéro (c'est une liste liée: quand l'utilisateur entre le numéro de l'éleveur, le nom correspondant s'affiche et vice-versa).
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 déc. 2012 à 12:18
Bonjour,

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

A+
0
Utilisateur anonyme
27 déc. 2012 à 10:30
Bonjour,

Merci pour votre acharnement à m'aider :) mais ça ne fonctionne toujours pas. Bonne nouvelle (ou pas), le message d'erreur a changer. Maintenant c'est erreur n°3134 "synthax error in INSERT INTO statement".

Bonne journée
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 déc. 2012 à 10:47
Bonjour,

Bonne nouvelle (ou pas), c'est une bonne nouvelle.

Si nous pouvions avoir votre fichier, cela serait un peu plus simple, car nous aurions le code complet.

suivre ce lien: https://www.cjoint.com/ et vous copiez le lien cree
0
Utilisateur anonyme
27 déc. 2012 à 11:13
C'est un fichier contenant des données personnelles que je n'ai pas le droit de diffuser. Qu'entendez-vous par "code complet" ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 déc. 2012 à 11:36
Re bonjour,

Qu'entendez-vous par "code complet" ? Le nom de champ nom_naisseur vient d'ou et est-ce qu'il y a des espaces ou des - comme votre nom de table?????????
0
Utilisateur anonyme
27 déc. 2012 à 11:48
Re-bonjour,

Voici un résumé des données :

Le formulaire a remplir est : F_animaux-eleveur-naisseur

Il se base sur la requête: Q_animaux-eveleur-naisseur

Qui prend une partie de ses valeurs dans la table: Table des eleveurs

Dans cette table on trouve, entre autres, les champs : Patronyme (petite modification depuis le 27/12)

La liste déroulante du formulaire propose les noms de familles issus du champ Patronyme. Si l'utilisateur se trouve en présence d'un nouvel éleveur (qui n'existe donc pas encore dans la Table des eleveurs), j'aimerai qu'il puisse entrer directement via le formulaire (sans avoir à ouvrir la table pour faire la modification) le nouveau Patronyme.

Je ne sais pas si c'est plus clair ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 déc. 2012 à 11:53
Re,

Vous n'avez pas repondu a la question!!!!
Le nom de champ nom_naisseur vient d'ou et est-ce qu'il y a des espaces ou des - comme votre nom de table?????????
La requete a nom_naisseur comme variable en nom de champ:!!!!!!!
DoCmd.RunSQL "INSERT INTO [Q_animaux-eleveur-naisseur] (" & nom_naisseur & ") VALUES ('" & newdata & "')"

A+
0
Utilisateur anonyme
27 déc. 2012 à 11:55
Excusez-moi, je me suis mal expliquée: nom_naisseur est devenu Patronyme entre-temps.
0