Requete Insert vba qui s'execute mais ne fonctionne pas
Bonjour,
Je ne comprends pas d'où vient le problème :
J'écris une requête insert en vba
Code:
CurrentDb.Execute ("INSERT INTO TabProduitCompose ( nProduit, Nom, nUnite, Quantite, Cfixe ) SELECT localProduitCompose.nProduit, localProduitCompose.Nom, localProduitCompose.nUnite, localProduitCompose.Quantite, localProduitCompose.CFixe FROM localProduitCompose WHERE localProduitCompose.nProduitCompose Is Null;")
Je vérifie que le code exécute bien la ligne.
Je vérifie qu'il n'y a pas de problème d'index, de clé primaire, de champs null ou vide interdit.
Je vérifie qu'il y a bien des enregistrements concernés.
Rien à faire, la requête est sans effet alors que si je prends la même phrase sql et que je la colle dans une requete Access, elle fonctionne.
J'ai même essayé via un recordset
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Set r = CurrentDb.OpenRecordset("SELECT localProduitCompose.nProduit, localProduitCompose.Nom, localProduitCompose.nUnite, localProduitCompose.Quantite, localProduitCompose.CFixe FROM localProduitCompose WHERE localProduitCompose.nProduitCompose Is Null;")
If Not r.EOF Then
Set r2 = CurrentDb.OpenRecordset("Select * from tabproduitcompose")
While Not r.EOF
r2.Edit
r2.AddNew
r2.Fields("Nom") = r.Fields("Nom")
r2.Fields("Quantite") = r.Fields("Quantite")
r2.Fields("nUnite") = r.Fields("nUnite")
r2.Fields("Cfixe") = r.Fields("Cfixe")
r2.Fields("nProduit") = r.Fields("nProduit")
r2.Update
r.MoveNext
Wend
r2.Close
End If
Set r2 = Nothing
Set r = Nothing |
Mais c'est pareil. Le code rentre bien dans la boucle, il n'y a pas de message d'erreur, mais à la fin, aucun insert....
Quelqu'un comprend il quelque chose ????