Dim rst As DAO.Recordset
If MsgBox("La désignation[" & NewData & "] ne figure pas dans la liste.
Vouslez-vous l'ajouter ?", _
vbQuestion + vbYesNo) = vbYes Then
'Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("tab_produits")
rst.AddNew
rst!produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
Bonsoir.
Hélas pas tout marche.
Si je réponds non en ajout il m'ouvre la table de ma liste.
Private Sub Designation_NotInList(NewData As String, Response As Integer)
Dim rst As DAO.Recordset
If MsgBox("La désignation[" & NewData & "] ne figure pas dans la liste.
Vouslez-vous l'ajouter ?", _
vbQuestion + vbYesNo) = vbYes Then
'Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("tab_produits")
rst.AddNew
rst!produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
Merci de vos conseils car si je coche oui pas de problème
Bonne soirée
Dim rst As DAO.Recordset
If MsgBox("La désignation[" & NewData & "] ne figure pas dans la liste.
Vouslez-vous l'ajouter ?", _
vbQuestion + vbYesNo) = vbYes Then
'Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("tab_produits")
rst.AddNew
rst!produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
Bonsoir.
Hélas pas tout marche.
Si je réponds non en ajout il m'ouvre la table de ma liste.
Private Sub Designation_NotInList(NewData As String, Response As Integer)
Dim rst As DAO.Recordset
If MsgBox("La désignation[" & NewData & "] ne figure pas dans la liste.
Vouslez-vous l'ajouter ?", _
vbQuestion + vbYesNo) = vbYes Then
'Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("tab_produits")
rst.AddNew
rst!produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
Merci de vos conseils car si je coche oui pas de problème
Bonne soirée
Dim rst As DAO.Recordset
If MsgBox("La désignation[" & NewData & "] ne figure pas dans la liste.
Vouslez-vous l'ajouter ?", _
vbQuestion + vbYesNo) = vbYes Then
'Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("tab_produits")
rst.AddNew
rst!produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
Bonsoir.
Hélas pas tout marche.
Si je réponds non en ajout il m'ouvre la table de ma liste.
Private Sub Designation_NotInList(NewData As String, Response As Integer)
Dim rst As DAO.Recordset
If MsgBox("La désignation[" & NewData & "] ne figure pas dans la liste.
Vouslez-vous l'ajouter ?", _
vbQuestion + vbYesNo) = vbYes Then
'Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("tab_produits")
rst.AddNew
rst!produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
Response = acDataErrAdded
Merci de vos conseils car si je coche oui pas de problème
Bonne soirée
Salut,
"Docteur Jekyll"
| Des lignes de facture qui font partie d'une table.
| Lorsque j'entre une désignation, qui est une liste, je vousdrais avoir
deux
| possibilités.
| La première quand il ne trouve pas c'est qu'il me demande si je veux
ajouter
| dans la table spéciale qui alimente ce champ, en réponse oui, pas de
| problème.
| Si je clique sur le non, il m'ouvre la liste et m'oblige à remplacer
cette
| donnée alors que je voudrais qu'il conserve cette dernière car
certainement
| elle ne sera pas réutilisée.
|
| Private Sub Designation_NotInList(NewData As String, Response As
Integer)
| > Dim rst As DAO.Recordset
| > If MsgBox("La désignation[" & NewData & "] ne figure pas dans la
liste.
| > Vouslez-vous l'ajouter ?", _
| > vbQuestion + vbYesNo) = vbYes Then
| > 'Ajouter l'élément à la liste
| > Set rst = CurrentDb.OpenRecordset("tab_produits")
| > rst.AddNew
| > rst!produit = NewData
| > rst.Update
| > rst.Close
| > Set rst = Nothing
| > End If
| > Response = acDataErrAdded
|
| J'attends avec impatience une réponse.
Regarde là :
http://www.3stone.be/access/articles.php?lng=fr&pgI
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| Des lignes de facture qui font partie d'une table.
| Lorsque j'entre une désignation, qui est une liste, je vousdrais avoir
deux
| possibilités.
| La première quand il ne trouve pas c'est qu'il me demande si je veux
ajouter
| dans la table spéciale qui alimente ce champ, en réponse oui, pas de
| problème.
| Si je clique sur le non, il m'ouvre la liste et m'oblige à remplacer
cette
| donnée alors que je voudrais qu'il conserve cette dernière car
certainement
| elle ne sera pas réutilisée.
|
| Private Sub Designation_NotInList(NewData As String, Response As
Integer)
| > Dim rst As DAO.Recordset
| > If MsgBox("La désignation[" & NewData & "] ne figure pas dans la
liste.
| > Vouslez-vous l'ajouter ?", _
| > vbQuestion + vbYesNo) = vbYes Then
| > 'Ajouter l'élément à la liste
| > Set rst = CurrentDb.OpenRecordset("tab_produits")
| > rst.AddNew
| > rst!produit = NewData
| > rst.Update
| > rst.Close
| > Set rst = Nothing
| > End If
| > Response = acDataErrAdded
|
| J'attends avec impatience une réponse.
Regarde là :
http://www.3stone.be/access/articles.php?lng=fr&pgI
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| Des lignes de facture qui font partie d'une table.
| Lorsque j'entre une désignation, qui est une liste, je vousdrais avoir
deux
| possibilités.
| La première quand il ne trouve pas c'est qu'il me demande si je veux
ajouter
| dans la table spéciale qui alimente ce champ, en réponse oui, pas de
| problème.
| Si je clique sur le non, il m'ouvre la liste et m'oblige à remplacer
cette
| donnée alors que je voudrais qu'il conserve cette dernière car
certainement
| elle ne sera pas réutilisée.
|
| Private Sub Designation_NotInList(NewData As String, Response As
Integer)
| > Dim rst As DAO.Recordset
| > If MsgBox("La désignation[" & NewData & "] ne figure pas dans la
liste.
| > Vouslez-vous l'ajouter ?", _
| > vbQuestion + vbYesNo) = vbYes Then
| > 'Ajouter l'élément à la liste
| > Set rst = CurrentDb.OpenRecordset("tab_produits")
| > rst.AddNew
| > rst!produit = NewData
| > rst.Update
| > rst.Close
| > Set rst = Nothing
| > End If
| > Response = acDataErrAdded
|
| J'attends avec impatience une réponse.
Regarde là :
http://www.3stone.be/access/articles.php?lng=fr&pgI
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| J'ai bien fait comme tu dis mais
Mais mais... je doute ;-)
| toujours sur réponse
| non refus de m'inscrire la valeur et il m'ouvre la liste.
|
| Private Sub Designation_NotInList(NewData As String, Response As
Integer)
| If MsgBox("Voulez-vous ajouter cette désignation " & NewData & " ?",
vbYesNo
| + vbQuestion) = vbYes Then
|
| CurrentDb.Execute "insert into tab_Produits(produit)" & "select """ &
NewData & """;"
La concaténation entre
...(produit)" et "select "
ne peut fonctionner tel quel !!
Il faut un espace entre la parentèse fermante et le "S" de select...
Toi, tu peux l'écrire sur une seule ligne :
CurrentDb.Execute "insert into tab_Produits(produit) select """ & NewData
& """;"
| Response = acDataErrAdded
| Else
| Response = acDataErrContinue
| Me!Designation.Undo
| End If
As-tu bien mis la propriété "Limité à liste" sur OUI ?
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| J'ai bien fait comme tu dis mais
Mais mais... je doute ;-)
| toujours sur réponse
| non refus de m'inscrire la valeur et il m'ouvre la liste.
|
| Private Sub Designation_NotInList(NewData As String, Response As
Integer)
| If MsgBox("Voulez-vous ajouter cette désignation " & NewData & " ?",
vbYesNo
| + vbQuestion) = vbYes Then
|
| CurrentDb.Execute "insert into tab_Produits(produit)" & "select """ &
NewData & """;"
La concaténation entre
...(produit)" et "select "
ne peut fonctionner tel quel !!
Il faut un espace entre la parentèse fermante et le "S" de select...
Toi, tu peux l'écrire sur une seule ligne :
CurrentDb.Execute "insert into tab_Produits(produit) select """ & NewData
& """;"
| Response = acDataErrAdded
| Else
| Response = acDataErrContinue
| Me!Designation.Undo
| End If
As-tu bien mis la propriété "Limité à liste" sur OUI ?
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| J'ai bien fait comme tu dis mais
Mais mais... je doute ;-)
| toujours sur réponse
| non refus de m'inscrire la valeur et il m'ouvre la liste.
|
| Private Sub Designation_NotInList(NewData As String, Response As
Integer)
| If MsgBox("Voulez-vous ajouter cette désignation " & NewData & " ?",
vbYesNo
| + vbQuestion) = vbYes Then
|
| CurrentDb.Execute "insert into tab_Produits(produit)" & "select """ &
NewData & """;"
La concaténation entre
...(produit)" et "select "
ne peut fonctionner tel quel !!
Il faut un espace entre la parentèse fermante et le "S" de select...
Toi, tu peux l'écrire sur une seule ligne :
CurrentDb.Execute "insert into tab_Produits(produit) select """ & NewData
& """;"
| Response = acDataErrAdded
| Else
| Response = acDataErrContinue
| Me!Designation.Undo
| End If
As-tu bien mis la propriété "Limité à liste" sur OUI ?
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| Je vais essayer. Comme c'était urgence, j'ai fait appel à une procédure
qui
| te fera honte mais qui marche. Qu'en penses-tu?
| Je saisis et entre sur le champ qui suit.
|
| If IsNull(DLookup("produit", "Tab_produits", "produit='" & [Designation]
&
| "'")) Then
| Reponse = MsgBox("Voulez vous ajouter cette référence", vbYesNo)
| If (Reponse = vbYes) Then
| DoCmd.SetWarnings False
| DoCmd.RunCommand acCmdSaveRecord
| DoCmd.OpenQuery "Req_AjoutProduit"
| DoCmd.SetWarnings True
| Else
| Cancel = True
| End If
| Dans l'attente de te lire
En fait, les données sont déjà dans la liste... et il est raisonnable
de vérifier parmis les données "en place" ;-)
Le Dlookup() pioche dans la table (qui peut être distante)
Et tu peux aussi améliorer la série de DoCmd...
With DoCmd
.SetWarnings False
.RunCommand acCmdSaveRacord
.OpenQuery "req_ajoutproduit"
.SetWarnings True
End With
Mais, je préfèrerai que fonctionne la procédure prévue ;-))
Si tu veux, tu peux m'envoyer ( http://cjoint.com/?dmcifqiI7w ) un extrait
de ta base avec lequel on peut reproduire le disfonctionnement...
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| Je vais essayer. Comme c'était urgence, j'ai fait appel à une procédure
qui
| te fera honte mais qui marche. Qu'en penses-tu?
| Je saisis et entre sur le champ qui suit.
|
| If IsNull(DLookup("produit", "Tab_produits", "produit='" & [Designation]
&
| "'")) Then
| Reponse = MsgBox("Voulez vous ajouter cette référence", vbYesNo)
| If (Reponse = vbYes) Then
| DoCmd.SetWarnings False
| DoCmd.RunCommand acCmdSaveRecord
| DoCmd.OpenQuery "Req_AjoutProduit"
| DoCmd.SetWarnings True
| Else
| Cancel = True
| End If
| Dans l'attente de te lire
En fait, les données sont déjà dans la liste... et il est raisonnable
de vérifier parmis les données "en place" ;-)
Le Dlookup() pioche dans la table (qui peut être distante)
Et tu peux aussi améliorer la série de DoCmd...
With DoCmd
.SetWarnings False
.RunCommand acCmdSaveRacord
.OpenQuery "req_ajoutproduit"
.SetWarnings True
End With
Mais, je préfèrerai que fonctionne la procédure prévue ;-))
Si tu veux, tu peux m'envoyer ( http://cjoint.com/?dmcifqiI7w ) un extrait
de ta base avec lequel on peut reproduire le disfonctionnement...
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Docteur Jekyll"
| Je vais essayer. Comme c'était urgence, j'ai fait appel à une procédure
qui
| te fera honte mais qui marche. Qu'en penses-tu?
| Je saisis et entre sur le champ qui suit.
|
| If IsNull(DLookup("produit", "Tab_produits", "produit='" & [Designation]
&
| "'")) Then
| Reponse = MsgBox("Voulez vous ajouter cette référence", vbYesNo)
| If (Reponse = vbYes) Then
| DoCmd.SetWarnings False
| DoCmd.RunCommand acCmdSaveRecord
| DoCmd.OpenQuery "Req_AjoutProduit"
| DoCmd.SetWarnings True
| Else
| Cancel = True
| End If
| Dans l'attente de te lire
En fait, les données sont déjà dans la liste... et il est raisonnable
de vérifier parmis les données "en place" ;-)
Le Dlookup() pioche dans la table (qui peut être distante)
Et tu peux aussi améliorer la série de DoCmd...
With DoCmd
.SetWarnings False
.RunCommand acCmdSaveRacord
.OpenQuery "req_ajoutproduit"
.SetWarnings True
End With
Mais, je préfèrerai que fonctionne la procédure prévue ;-))
Si tu veux, tu peux m'envoyer ( http://cjoint.com/?dmcifqiI7w ) un extrait
de ta base avec lequel on peut reproduire le disfonctionnement...
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)