j'essaye de faire une requete sql en vba sous cette forme
Dim strsql As String
Total = DSum("[MontantFacture]", "RTotalFact",
"[Formulaires]![Cheques]![SFListeFactures].[Form]![NumCheque]")
strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Total & " WHERE
(Cheques.NumCheque=Me.NumCheque);"
CurrentDb.Execute strsql
la variable "Total" donne stocke bien le résultat mais j'ai une erreur 3601,
erreur de syntaxe surement sur l'execution de la requete (CurrentDb.Execute
strsql)
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
Bonjour,
Je pense que ta variable total contient une valeur monétaire avec pour séparateur décimal la virgule, ce qui génère ton erreur de syntaxe. Si c'est le cas, alors mets : strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Replace(Total,",",".") & " WHERE Cheques.NumCheque=" & Me.NumCheque & ";"
De plus il faut sortir de ta chaine sql, la variable Me.NumCheque supposée numérique. Si texte, alors modifier le whzere comme suit: ... & " WHERE Cheques.NumCheque='" & Me.NumCheque & "';"
La fonction REPLACE() uniquement à partir d'Access2K, si Access97 voir sur le site de Jessy : http://access.jessy.free.fr/htm/Equivalence/fReplace.htm
bonjour
j'essaye de faire une requete sql en vba sous cette forme
Dim strsql As String Total = DSum("[MontantFacture]", "RTotalFact", "[Formulaires]![Cheques]![SFListeFactures].[Form]![NumCheque]") strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Total & " WHERE (Cheques.NumCheque=Me.NumCheque);" CurrentDb.Execute strsql
la variable "Total" donne stocke bien le résultat mais j'ai une erreur 3601, erreur de syntaxe surement sur l'execution de la requete (CurrentDb.Execute strsql)
Si quelqu'un voit l'erreur.
Merci d'avance
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Je pense que ta variable total contient une valeur monétaire avec pour
séparateur décimal la virgule, ce qui génère ton erreur de syntaxe.
Si c'est le cas, alors mets :
strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " &
Replace(Total,",",".") & " WHERE Cheques.NumCheque=" & Me.NumCheque & ";"
De plus il faut sortir de ta chaine sql, la variable Me.NumCheque
supposée numérique. Si texte, alors modifier le whzere comme suit:
... & " WHERE Cheques.NumCheque='" & Me.NumCheque & "';"
La fonction REPLACE() uniquement à partir d'Access2K, si Access97 voir
sur le site de Jessy :
http://access.jessy.free.fr/htm/Equivalence/fReplace.htm
bonjour
j'essaye de faire une requete sql en vba sous cette forme
Dim strsql As String
Total = DSum("[MontantFacture]", "RTotalFact",
"[Formulaires]![Cheques]![SFListeFactures].[Form]![NumCheque]")
strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Total & " WHERE
(Cheques.NumCheque=Me.NumCheque);"
CurrentDb.Execute strsql
la variable "Total" donne stocke bien le résultat mais j'ai une erreur 3601,
erreur de syntaxe surement sur l'execution de la requete (CurrentDb.Execute
strsql)
Si quelqu'un voit l'erreur.
Merci d'avance
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je pense que ta variable total contient une valeur monétaire avec pour séparateur décimal la virgule, ce qui génère ton erreur de syntaxe. Si c'est le cas, alors mets : strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Replace(Total,",",".") & " WHERE Cheques.NumCheque=" & Me.NumCheque & ";"
De plus il faut sortir de ta chaine sql, la variable Me.NumCheque supposée numérique. Si texte, alors modifier le whzere comme suit: ... & " WHERE Cheques.NumCheque='" & Me.NumCheque & "';"
La fonction REPLACE() uniquement à partir d'Access2K, si Access97 voir sur le site de Jessy : http://access.jessy.free.fr/htm/Equivalence/fReplace.htm
bonjour
j'essaye de faire une requete sql en vba sous cette forme
Dim strsql As String Total = DSum("[MontantFacture]", "RTotalFact", "[Formulaires]![Cheques]![SFListeFactures].[Form]![NumCheque]") strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Total & " WHERE (Cheques.NumCheque=Me.NumCheque);" CurrentDb.Execute strsql
la variable "Total" donne stocke bien le résultat mais j'ai une erreur 3601, erreur de syntaxe surement sur l'execution de la requete (CurrentDb.Execute strsql)
Si quelqu'un voit l'erreur.
Merci d'avance
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Cyrille
ca marche parfaitement
ca peut servir à d'autres que access utilise dans ce cas le . plutot que la , dans les procedures
merci encore
bonjour
j'essaye de faire une requete sql en vba sous cette forme
Dim strsql As String Total = DSum("[MontantFacture]", "RTotalFact", "[Formulaires]![Cheques]![SFListeFactures].[Form]![NumCheque]") strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Total & " WHERE (Cheques.NumCheque=Me.NumCheque);" CurrentDb.Execute strsql
la variable "Total" donne stocke bien le résultat mais j'ai une erreur 3601, erreur de syntaxe surement sur l'execution de la requete (CurrentDb.Execute strsql)
Si quelqu'un voit l'erreur.
Merci d'avance
ca marche parfaitement
ca peut servir à d'autres que access utilise dans ce cas le . plutot que la
, dans les procedures
merci encore
bonjour
j'essaye de faire une requete sql en vba sous cette forme
Dim strsql As String
Total = DSum("[MontantFacture]", "RTotalFact",
"[Formulaires]![Cheques]![SFListeFactures].[Form]![NumCheque]")
strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Total & " WHERE
(Cheques.NumCheque=Me.NumCheque);"
CurrentDb.Execute strsql
la variable "Total" donne stocke bien le résultat mais j'ai une erreur 3601,
erreur de syntaxe surement sur l'execution de la requete (CurrentDb.Execute
strsql)
ca peut servir à d'autres que access utilise dans ce cas le . plutot que la , dans les procedures
merci encore
bonjour
j'essaye de faire une requete sql en vba sous cette forme
Dim strsql As String Total = DSum("[MontantFacture]", "RTotalFact", "[Formulaires]![Cheques]![SFListeFactures].[Form]![NumCheque]") strsql = "UPDATE Cheques SET Cheques.MontantTotalFact = " & Total & " WHERE (Cheques.NumCheque=Me.NumCheque);" CurrentDb.Execute strsql
la variable "Total" donne stocke bien le résultat mais j'ai une erreur 3601, erreur de syntaxe surement sur l'execution de la requete (CurrentDb.Execute strsql)
Si quelqu'un voit l'erreur.
Merci d'avance
Eric
re,
C'est pas Access mais SQL. La syntaxe SQL est en US donc le séparateur décimal est le . (point) ; d'ailleurs, en SQL la virgule permet de séparer les noms de champs, de tables c'est pourquoi elle ne peut pas servir aussi de séparateur décimal.
ca marche parfaitement
ca peut servir à d'autres que access utilise dans ce cas le . plutot que la , dans les procedures
merci encore
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
C'est pas Access mais SQL. La syntaxe SQL est en US donc le séparateur
décimal est le . (point) ; d'ailleurs, en SQL la virgule permet de
séparer les noms de champs, de tables c'est pourquoi elle ne peut pas
servir aussi de séparateur décimal.
ca marche parfaitement
ca peut servir à d'autres que access utilise dans ce cas le . plutot que la
, dans les procedures
merci encore
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
C'est pas Access mais SQL. La syntaxe SQL est en US donc le séparateur décimal est le . (point) ; d'ailleurs, en SQL la virgule permet de séparer les noms de champs, de tables c'est pourquoi elle ne peut pas servir aussi de séparateur décimal.
ca marche parfaitement
ca peut servir à d'autres que access utilise dans ce cas le . plutot que la , dans les procedures
merci encore
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr