Comme bcp j'ai des listes dans lesquelles j'ajoute des valeurs. Jusque là
tout va bien.
Je sais, je sais, on trouve ce genre de code un peu partout, mais je n'ai
pas réussi à en adapter un à ma bdd.
Ben oui, faut savoir reconnaître ses limites, même si elle sont TRES
limitées.
Avec la liste principale, celle du nom des clients, j'ai un pbl : Une fois
le nouveau nom ajouté, je n'arrive pas à aller sur ce record. J'ai le
nouveau nom, mais les données du client qui était affiché lors de l'ajout.
Pourtant il y a effectivement une nouvelle ligne dans la table contact, avec
un RéfContact (numeroauto) correct. Mais je n'arrive pas à y aller.
J'utilise la procédure :
Private Sub ListeNomFamille_NotInList(NewData As String, Response As
Integer)
If MsgBox("Le contact '" & NewData & "' n'existe pas dans la base de
données." _
& Chr(10) & Chr(13) & "Voulez-vous l'ajouter à la liste ?", _
vbYesNo + vbQuestion, "Valeur inconnue") = vbYes Then
Ceci est la procédure d'ajout d'un nouveau nom dans la liste. Cela
fonctionne. Mais dès que j'ajoute qqch dans le if then, j'ai des messages
d'erreur. Donc ce que j'essaye ne correspond pas, mais que dois-je faire
pour atteindre ce nouveau record ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
Bonsoir JM
Avec ton sql tu enregistres dans le meilleur des cas que le nom du client. le sql doit être : CurrentDb.Execute "INSERT INTO Clients(NomFamille) " _ & "VALUES(""" & NomPropre(NewData) & """) ;" mais il te permet uniquement d'enregistrer les infos du nom du client et pas les infos associées comme l'adresse ...
Je te propose la solution suivante: Tu crées un formulaire de saisie de client, mis en Entrée de données à vrai.
Dans ta proc Private Sub MaListe_NotInList(NewData As String, Response As Integer)
sur le test if msgbox("...",vbYesNo+vbDefaultButton2+vbInformation) = vbYes then Response= acDataErrAdded Docmd.Openform "Saisie nouveau client"acNormal, , , acFormAdd, acDialog, NewData le reste est ok
Sur le form "Saisie d'un nouveau client", sur la propriété Current tu mets : NomClient = Me.Openargs pour récupérer le contenu de NewDat Ce formulaire a un bouton Sauver enregistrement et derriere la commande : DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 tu ajoutes :DoCmd.Close
Ca te permet de saisir toutes les infos de ton nouveau client et tu reviens sur ton formulaire initial ou il y a la liste. Et le tour est joué.
A+ Eric
-----Message d'origine----- Salut à tous,
Comme bcp j'ai des listes dans lesquelles j'ajoute des valeurs. Jusque là
tout va bien. Je sais, je sais, on trouve ce genre de code un peu partout, mais je n'ai
pas réussi à en adapter un à ma bdd. Ben oui, faut savoir reconnaître ses limites, même si elle sont TRES
limitées. Avec la liste principale, celle du nom des clients, j'ai un pbl : Une fois
le nouveau nom ajouté, je n'arrive pas à aller sur ce record. J'ai le
nouveau nom, mais les données du client qui était affiché lors de l'ajout.
Pourtant il y a effectivement une nouvelle ligne dans la table contact, avec
un RéfContact (numeroauto) correct. Mais je n'arrive pas à y aller.
J'utilise la procédure :
Private Sub ListeNomFamille_NotInList(NewData As String, Response As
Integer) If MsgBox("Le contact '" & NewData & "' n'existe pas dans la base de
données." _ & Chr(10) & Chr(13) & "Voulez-vous l'ajouter à la liste ?", _
vbYesNo + vbQuestion, "Valeur inconnue") = vbYes Then
Ceci est la procédure d'ajout d'un nouveau nom dans la liste. Cela
fonctionne. Mais dès que j'ajoute qqch dans le if then, j'ai des messages
d'erreur. Donc ce que j'essaye ne correspond pas, mais que dois-je faire
pour atteindre ce nouveau record ?
Merci de vos z'avis z'avisés,
JM
.
Bonsoir JM
Avec ton sql tu enregistres dans le meilleur des cas que
le nom du client.
le sql doit être :
CurrentDb.Execute "INSERT INTO Clients(NomFamille) " _
& "VALUES(""" & NomPropre(NewData) & """) ;" mais il te
permet uniquement d'enregistrer les infos du nom du client
et pas les infos associées comme l'adresse ...
Je te propose la solution suivante:
Tu crées un formulaire de saisie de client, mis en Entrée
de données à vrai.
Dans ta proc Private Sub MaListe_NotInList(NewData As
String, Response As Integer)
sur le test
if msgbox("...",vbYesNo+vbDefaultButton2+vbInformation) =
vbYes then
Response= acDataErrAdded
Docmd.Openform "Saisie nouveau client"acNormal, , ,
acFormAdd, acDialog, NewData
le reste est ok
Sur le form "Saisie d'un nouveau client", sur la propriété
Current
tu mets :
NomClient = Me.Openargs pour récupérer le contenu de NewDat
Ce formulaire a un bouton Sauver enregistrement et
derriere la commande :
DoCmd.DoMenuItem acFormBar, acRecordsMenu,
acSaveRecord, , acMenuVer70
tu ajoutes :DoCmd.Close
Ca te permet de saisir toutes les infos de ton nouveau
client et tu reviens sur ton formulaire initial ou il y a
la liste.
Et le tour est joué.
A+
Eric
-----Message d'origine-----
Salut à tous,
Comme bcp j'ai des listes dans lesquelles j'ajoute des
valeurs. Jusque là
tout va bien.
Je sais, je sais, on trouve ce genre de code un peu
partout, mais je n'ai
pas réussi à en adapter un à ma bdd.
Ben oui, faut savoir reconnaître ses limites, même si
elle sont TRES
limitées.
Avec la liste principale, celle du nom des clients, j'ai
un pbl : Une fois
le nouveau nom ajouté, je n'arrive pas à aller sur ce
record. J'ai le
nouveau nom, mais les données du client qui était affiché
lors de l'ajout.
Pourtant il y a effectivement une nouvelle ligne dans la
table contact, avec
un RéfContact (numeroauto) correct. Mais je n'arrive pas
à y aller.
J'utilise la procédure :
Private Sub ListeNomFamille_NotInList(NewData As String,
Response As
Integer)
If MsgBox("Le contact '" & NewData & "' n'existe pas
dans la base de
données." _
& Chr(10) & Chr(13) & "Voulez-vous l'ajouter à la
liste ?", _
vbYesNo + vbQuestion, "Valeur inconnue") = vbYes
Then
Avec ton sql tu enregistres dans le meilleur des cas que le nom du client. le sql doit être : CurrentDb.Execute "INSERT INTO Clients(NomFamille) " _ & "VALUES(""" & NomPropre(NewData) & """) ;" mais il te permet uniquement d'enregistrer les infos du nom du client et pas les infos associées comme l'adresse ...
Je te propose la solution suivante: Tu crées un formulaire de saisie de client, mis en Entrée de données à vrai.
Dans ta proc Private Sub MaListe_NotInList(NewData As String, Response As Integer)
sur le test if msgbox("...",vbYesNo+vbDefaultButton2+vbInformation) = vbYes then Response= acDataErrAdded Docmd.Openform "Saisie nouveau client"acNormal, , , acFormAdd, acDialog, NewData le reste est ok
Sur le form "Saisie d'un nouveau client", sur la propriété Current tu mets : NomClient = Me.Openargs pour récupérer le contenu de NewDat Ce formulaire a un bouton Sauver enregistrement et derriere la commande : DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 tu ajoutes :DoCmd.Close
Ca te permet de saisir toutes les infos de ton nouveau client et tu reviens sur ton formulaire initial ou il y a la liste. Et le tour est joué.
A+ Eric
-----Message d'origine----- Salut à tous,
Comme bcp j'ai des listes dans lesquelles j'ajoute des valeurs. Jusque là
tout va bien. Je sais, je sais, on trouve ce genre de code un peu partout, mais je n'ai
pas réussi à en adapter un à ma bdd. Ben oui, faut savoir reconnaître ses limites, même si elle sont TRES
limitées. Avec la liste principale, celle du nom des clients, j'ai un pbl : Une fois
le nouveau nom ajouté, je n'arrive pas à aller sur ce record. J'ai le
nouveau nom, mais les données du client qui était affiché lors de l'ajout.
Pourtant il y a effectivement une nouvelle ligne dans la table contact, avec
un RéfContact (numeroauto) correct. Mais je n'arrive pas à y aller.
J'utilise la procédure :
Private Sub ListeNomFamille_NotInList(NewData As String, Response As
Integer) If MsgBox("Le contact '" & NewData & "' n'existe pas dans la base de
données." _ & Chr(10) & Chr(13) & "Voulez-vous l'ajouter à la liste ?", _
vbYesNo + vbQuestion, "Valeur inconnue") = vbYes Then
Ceci est la procédure d'ajout d'un nouveau nom dans la liste. Cela
fonctionne. Mais dès que j'ajoute qqch dans le if then, j'ai des messages
d'erreur. Donc ce que j'essaye ne correspond pas, mais que dois-je faire
pour atteindre ce nouveau record ?
Merci de vos z'avis z'avisés,
JM
.
Jean-Marc
Merci de ton aide, Eric, mais j'aimerais éviter de devoir ouvrir un formulaire qui serait en fait exactement le même formulaire. C'est le formulaire que j'utilise tant pour la consultation que pour l'ajout. J'ai mis une liste déroulante sur le nom du client, pas de pbl, mais si le nom n'existe pas, je voudrais pouvoir encoder ses données. Actuellement j'ai la liste et si la liste ne trouve pas le nom entré, j'envois un message signalant qu'il faut cliquer 2 fois sur la liste pour introduire un nouveau client. La procédure sur le double clic est : Private Sub ListeNomFamille_DblClick(Cancel As Integer) On Error GoTo Err_ListeNomFamille_Click
Mais je reste persuadé qu'il y a moyen d'obtenir le même résultat avec le message de confirmation de nouveau nom, que le nouveau nom (NewData) se mette dans le champs NomFamille et que les autres champs soient vides. Bref, que je sois sur le nouvel enregistrement.
En fait, si on clique ok au message de confirmation d'ajout, il se produise la proc du double clic et que [NomFamille]=NewData
Comme je disais, je reste persuadé que c'est possible, mais je ne suis pas assez doué pour le faire seul.
Merci de votre aide,
JM
"Eric" a écrit dans le message de news:ed3f01c3f1ab$ec7f4050$ Bonsoir JM
Avec ton sql tu enregistres dans le meilleur des cas que le nom du client. le sql doit être : CurrentDb.Execute "INSERT INTO Clients(NomFamille) " _ & "VALUES(""" & NomPropre(NewData) & """) ;" mais il te permet uniquement d'enregistrer les infos du nom du client et pas les infos associées comme l'adresse ...
Je te propose la solution suivante: Tu crées un formulaire de saisie de client, mis en Entrée de données à vrai.
Dans ta proc Private Sub MaListe_NotInList(NewData As String, Response As Integer)
sur le test if msgbox("...",vbYesNo+vbDefaultButton2+vbInformation) vbYes then Response= acDataErrAdded Docmd.Openform "Saisie nouveau client"acNormal, , , acFormAdd, acDialog, NewData le reste est ok
Sur le form "Saisie d'un nouveau client", sur la propriété Current tu mets : NomClient = Me.Openargs pour récupérer le contenu de NewDat Ce formulaire a un bouton Sauver enregistrement et derriere la commande : DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 tu ajoutes :DoCmd.Close
Ca te permet de saisir toutes les infos de ton nouveau client et tu reviens sur ton formulaire initial ou il y a la liste. Et le tour est joué.
A+ Eric
-----Message d'origine----- Salut à tous,
Comme bcp j'ai des listes dans lesquelles j'ajoute des valeurs. Jusque là
tout va bien. Je sais, je sais, on trouve ce genre de code un peu partout, mais je n'ai
pas réussi à en adapter un à ma bdd. Ben oui, faut savoir reconnaître ses limites, même si elle sont TRES
limitées. Avec la liste principale, celle du nom des clients, j'ai un pbl : Une fois
le nouveau nom ajouté, je n'arrive pas à aller sur ce record. J'ai le
nouveau nom, mais les données du client qui était affiché lors de l'ajout.
Pourtant il y a effectivement une nouvelle ligne dans la table contact, avec
un RéfContact (numeroauto) correct. Mais je n'arrive pas à y aller.
J'utilise la procédure :
Private Sub ListeNomFamille_NotInList(NewData As String, Response As
Integer) If MsgBox("Le contact '" & NewData & "' n'existe pas dans la base de
données." _ & Chr(10) & Chr(13) & "Voulez-vous l'ajouter à la liste ?", _
vbYesNo + vbQuestion, "Valeur inconnue") = vbYes Then
Ceci est la procédure d'ajout d'un nouveau nom dans la liste. Cela
fonctionne. Mais dès que j'ajoute qqch dans le if then, j'ai des messages
d'erreur. Donc ce que j'essaye ne correspond pas, mais que dois-je faire
pour atteindre ce nouveau record ?
Merci de vos z'avis z'avisés,
JM
.
Merci de ton aide, Eric, mais j'aimerais éviter de devoir ouvrir un
formulaire qui serait en fait exactement le même formulaire.
C'est le formulaire que j'utilise tant pour la consultation que pour
l'ajout.
J'ai mis une liste déroulante sur le nom du client, pas de pbl, mais si le
nom n'existe pas, je voudrais pouvoir encoder ses données.
Actuellement j'ai la liste et si la liste ne trouve pas le nom entré,
j'envois un message signalant qu'il faut cliquer 2 fois sur la liste pour
introduire un nouveau client. La procédure sur le double clic est :
Private Sub ListeNomFamille_DblClick(Cancel As Integer)
On Error GoTo Err_ListeNomFamille_Click
Mais je reste persuadé qu'il y a moyen d'obtenir le même résultat avec le
message de confirmation de nouveau nom, que le nouveau nom (NewData) se
mette dans le champs NomFamille et que les autres champs soient vides. Bref,
que je sois sur le nouvel enregistrement.
En fait, si on clique ok au message de confirmation d'ajout, il se produise
la proc du double clic et que [NomFamille]=NewData
Comme je disais, je reste persuadé que c'est possible, mais je ne suis pas
assez doué pour le faire seul.
Merci de votre aide,
JM
"Eric" <f_fram@hotmail.com> a écrit dans le message de
news:ed3f01c3f1ab$ec7f4050$a101280a@phx.gbl...
Bonsoir JM
Avec ton sql tu enregistres dans le meilleur des cas que
le nom du client.
le sql doit être :
CurrentDb.Execute "INSERT INTO Clients(NomFamille) " _
& "VALUES(""" & NomPropre(NewData) & """) ;" mais il te
permet uniquement d'enregistrer les infos du nom du client
et pas les infos associées comme l'adresse ...
Je te propose la solution suivante:
Tu crées un formulaire de saisie de client, mis en Entrée
de données à vrai.
Dans ta proc Private Sub MaListe_NotInList(NewData As
String, Response As Integer)
sur le test
if msgbox("...",vbYesNo+vbDefaultButton2+vbInformation) vbYes then
Response= acDataErrAdded
Docmd.Openform "Saisie nouveau client"acNormal, , ,
acFormAdd, acDialog, NewData
le reste est ok
Sur le form "Saisie d'un nouveau client", sur la propriété
Current
tu mets :
NomClient = Me.Openargs pour récupérer le contenu de NewDat
Ce formulaire a un bouton Sauver enregistrement et
derriere la commande :
DoCmd.DoMenuItem acFormBar, acRecordsMenu,
acSaveRecord, , acMenuVer70
tu ajoutes :DoCmd.Close
Ca te permet de saisir toutes les infos de ton nouveau
client et tu reviens sur ton formulaire initial ou il y a
la liste.
Et le tour est joué.
A+
Eric
-----Message d'origine-----
Salut à tous,
Comme bcp j'ai des listes dans lesquelles j'ajoute des
valeurs. Jusque là
tout va bien.
Je sais, je sais, on trouve ce genre de code un peu
partout, mais je n'ai
pas réussi à en adapter un à ma bdd.
Ben oui, faut savoir reconnaître ses limites, même si
elle sont TRES
limitées.
Avec la liste principale, celle du nom des clients, j'ai
un pbl : Une fois
le nouveau nom ajouté, je n'arrive pas à aller sur ce
record. J'ai le
nouveau nom, mais les données du client qui était affiché
lors de l'ajout.
Pourtant il y a effectivement une nouvelle ligne dans la
table contact, avec
un RéfContact (numeroauto) correct. Mais je n'arrive pas
à y aller.
J'utilise la procédure :
Private Sub ListeNomFamille_NotInList(NewData As String,
Response As
Integer)
If MsgBox("Le contact '" & NewData & "' n'existe pas
dans la base de
données." _
& Chr(10) & Chr(13) & "Voulez-vous l'ajouter à la
liste ?", _
vbYesNo + vbQuestion, "Valeur inconnue") = vbYes
Then
Merci de ton aide, Eric, mais j'aimerais éviter de devoir ouvrir un formulaire qui serait en fait exactement le même formulaire. C'est le formulaire que j'utilise tant pour la consultation que pour l'ajout. J'ai mis une liste déroulante sur le nom du client, pas de pbl, mais si le nom n'existe pas, je voudrais pouvoir encoder ses données. Actuellement j'ai la liste et si la liste ne trouve pas le nom entré, j'envois un message signalant qu'il faut cliquer 2 fois sur la liste pour introduire un nouveau client. La procédure sur le double clic est : Private Sub ListeNomFamille_DblClick(Cancel As Integer) On Error GoTo Err_ListeNomFamille_Click
Mais je reste persuadé qu'il y a moyen d'obtenir le même résultat avec le message de confirmation de nouveau nom, que le nouveau nom (NewData) se mette dans le champs NomFamille et que les autres champs soient vides. Bref, que je sois sur le nouvel enregistrement.
En fait, si on clique ok au message de confirmation d'ajout, il se produise la proc du double clic et que [NomFamille]=NewData
Comme je disais, je reste persuadé que c'est possible, mais je ne suis pas assez doué pour le faire seul.
Merci de votre aide,
JM
"Eric" a écrit dans le message de news:ed3f01c3f1ab$ec7f4050$ Bonsoir JM
Avec ton sql tu enregistres dans le meilleur des cas que le nom du client. le sql doit être : CurrentDb.Execute "INSERT INTO Clients(NomFamille) " _ & "VALUES(""" & NomPropre(NewData) & """) ;" mais il te permet uniquement d'enregistrer les infos du nom du client et pas les infos associées comme l'adresse ...
Je te propose la solution suivante: Tu crées un formulaire de saisie de client, mis en Entrée de données à vrai.
Dans ta proc Private Sub MaListe_NotInList(NewData As String, Response As Integer)
sur le test if msgbox("...",vbYesNo+vbDefaultButton2+vbInformation) vbYes then Response= acDataErrAdded Docmd.Openform "Saisie nouveau client"acNormal, , , acFormAdd, acDialog, NewData le reste est ok
Sur le form "Saisie d'un nouveau client", sur la propriété Current tu mets : NomClient = Me.Openargs pour récupérer le contenu de NewDat Ce formulaire a un bouton Sauver enregistrement et derriere la commande : DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 tu ajoutes :DoCmd.Close
Ca te permet de saisir toutes les infos de ton nouveau client et tu reviens sur ton formulaire initial ou il y a la liste. Et le tour est joué.
A+ Eric
-----Message d'origine----- Salut à tous,
Comme bcp j'ai des listes dans lesquelles j'ajoute des valeurs. Jusque là
tout va bien. Je sais, je sais, on trouve ce genre de code un peu partout, mais je n'ai
pas réussi à en adapter un à ma bdd. Ben oui, faut savoir reconnaître ses limites, même si elle sont TRES
limitées. Avec la liste principale, celle du nom des clients, j'ai un pbl : Une fois
le nouveau nom ajouté, je n'arrive pas à aller sur ce record. J'ai le
nouveau nom, mais les données du client qui était affiché lors de l'ajout.
Pourtant il y a effectivement une nouvelle ligne dans la table contact, avec
un RéfContact (numeroauto) correct. Mais je n'arrive pas à y aller.
J'utilise la procédure :
Private Sub ListeNomFamille_NotInList(NewData As String, Response As
Integer) If MsgBox("Le contact '" & NewData & "' n'existe pas dans la base de
données." _ & Chr(10) & Chr(13) & "Voulez-vous l'ajouter à la liste ?", _
vbYesNo + vbQuestion, "Valeur inconnue") = vbYes Then