Access sur absence dans la liste
LE_CID13
Messages postés
31
Statut
Membre
-
LE_CID13 Messages postés 31 Statut Membre -
LE_CID13 Messages postés 31 Statut Membre -
Bonjour,
j'ai une table produit (ID, nom du produit, ...)
une table devis (N°devis, nom client)
une table devis corps (N°devis corps, N°devis, N° article) avec une liste deroulante basée sur "ID" ET "NOM PRODUIT"et qui m'affiche le "Nom du produit"
une requette detail devis (pour mon sous formulaire) basé sur ma table "devis corps"
et enfin un formulaire de saisie de mes devis avec un 1er partie les information relative un client
et en sous formulaire les articles choisie par le client
BREF tout marche très bien
Mon probleme est que si je souhaite un article n'est pas dans la liste "Erreur"
Alors j'ai trouver ça sur un forum (evenement "sur absence dans la liste")
Private Sub N°Article_NotInList(NewData As String, Response As Integer)
If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des prénoms ?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
DoCmd.RunSQL "INSERT INTO Produit ( Nom du produit ) SELECT """ & NewData & """;"
Response = acDataErrAdded
Else
Response = acDataErrContinue
N°Article.Undo
End If
End Sub
Mais ça marche pas quelqu'un pourrait-il m'aider!
j'ai une table produit (ID, nom du produit, ...)
une table devis (N°devis, nom client)
une table devis corps (N°devis corps, N°devis, N° article) avec une liste deroulante basée sur "ID" ET "NOM PRODUIT"et qui m'affiche le "Nom du produit"
une requette detail devis (pour mon sous formulaire) basé sur ma table "devis corps"
et enfin un formulaire de saisie de mes devis avec un 1er partie les information relative un client
et en sous formulaire les articles choisie par le client
BREF tout marche très bien
Mon probleme est que si je souhaite un article n'est pas dans la liste "Erreur"
Alors j'ai trouver ça sur un forum (evenement "sur absence dans la liste")
Private Sub N°Article_NotInList(NewData As String, Response As Integer)
If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des prénoms ?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
DoCmd.RunSQL "INSERT INTO Produit ( Nom du produit ) SELECT """ & NewData & """;"
Response = acDataErrAdded
Else
Response = acDataErrContinue
N°Article.Undo
End If
End Sub
Mais ça marche pas quelqu'un pourrait-il m'aider!
A voir également:
- Access sur absence dans la liste
- Liste déroulante excel - Guide
- Message absence thunderbird - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Comment cacher la liste d'amis sur facebook - Guide
2 réponses
Sinon j'ai ça mais ça marche pas non plus
Sub N°Article_NotInList(Newdata As String, Response As Integer)
' Permet à l'utilisateur d'ajouter un nouvel Article
' dans la table Produit au travers de la liste
Dim MaBase As Database, MaTable As Recordset
Dim N°Article As Integer
N°Article = MsgBox("Voulez-vous ajouter une nouvelle catégorie ?",
vbYesNo)
If N°Article = vbYes Then
' Ajout de la nouvel Article dans la liste
Set MaBase = DBEngine(0)(0)
Set MaTable = MaBase.OpenRecordset("Produit", dbOpenTable)
MaTable.AddNew
MaTable("[Nom du produit]") = Newdata
MaTable.Update
MaTable.Close
MaBase.Close
' Annulation de la saisie dans la liste pour éviter le message
' d'erreur associée à l'absence dans la liste
DoCmd.DoMenuItem acFormBar, acEdit, 0
' Cette réponse déclenche l'actualisation automatique de la liste
Response = acDataErrAdded
Else
DoCmd.DoMenuItem acFormBar, acEdit, 0
' Réponse annulant la saisie et ouvrant la liste modifiable
End If
End Sub
Sub N°Article_NotInList(Newdata As String, Response As Integer)
' Permet à l'utilisateur d'ajouter un nouvel Article
' dans la table Produit au travers de la liste
Dim MaBase As Database, MaTable As Recordset
Dim N°Article As Integer
N°Article = MsgBox("Voulez-vous ajouter une nouvelle catégorie ?",
vbYesNo)
If N°Article = vbYes Then
' Ajout de la nouvel Article dans la liste
Set MaBase = DBEngine(0)(0)
Set MaTable = MaBase.OpenRecordset("Produit", dbOpenTable)
MaTable.AddNew
MaTable("[Nom du produit]") = Newdata
MaTable.Update
MaTable.Close
MaBase.Close
' Annulation de la saisie dans la liste pour éviter le message
' d'erreur associée à l'absence dans la liste
DoCmd.DoMenuItem acFormBar, acEdit, 0
' Cette réponse déclenche l'actualisation automatique de la liste
Response = acDataErrAdded
Else
DoCmd.DoMenuItem acFormBar, acEdit, 0
' Réponse annulant la saisie et ouvrant la liste modifiable
End If
End Sub
marche pas non plus
Private Sub N°Article_NotInList(NewData As String, Response As Integer)
Dim rst As DAO.Recordset
If MsgBox("L'élément [" & NewData & "] ne figure pas dans la liste. Voulez-vous l'ajouter ?", vbQuestion + vbYesNo) = vbYes Then
' Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("Produits")
rst.AddNew
rst!nom_du_produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
' Annuler le message d'erreur d'Access
Response = acDataErrAdded
End Sub
Es-que cela ne marche pas parceque mon sous formulaire est basé sur une requette et non sur la table produit
Private Sub N°Article_NotInList(NewData As String, Response As Integer)
Dim rst As DAO.Recordset
If MsgBox("L'élément [" & NewData & "] ne figure pas dans la liste. Voulez-vous l'ajouter ?", vbQuestion + vbYesNo) = vbYes Then
' Ajouter l'élément à la liste
Set rst = CurrentDb.OpenRecordset("Produits")
rst.AddNew
rst!nom_du_produit = NewData
rst.Update
rst.Close
Set rst = Nothing
End If
' Annuler le message d'erreur d'Access
Response = acDataErrAdded
End Sub
Es-que cela ne marche pas parceque mon sous formulaire est basé sur une requette et non sur la table produit