Menu

Erreur 3144 UPDATE VBA [Résolu]

Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
-
Bonjour à tous,

J'ai une erreur de syntaxe sur le code suivant:
Dim date_tmp As Date
date_tmp = DateSerial(ANNEE_SELECT, MOIS_SELECT.Column(0), JOUR)
Dim n As Integer
Dim HSUP As Single
Dim HDEP As Single

HSUP = TOTAL_HSUP
HDEP = TOTAL_HDEP

For i = 1 To 15
date_tmp = date_tmp + 1
If Not IsNull(DLookup("[N°]", "REPARTITION_TPS_REELLE", "[ID_SALARIE]= ID_SALARIE.value and [DATE_JOUR] = #" & Format(date_tmp, "mm/dd/yyyy") & "#")) Then
n = DLookup("[N°]", "REPARTITION_TPS_REELLE", "[ID_SALARIE]= ID_SALARIE.value and [DATE_JOUR] =#" & Format(date_tmp, "mm/dd/yyyy") & "#")

Dim db As Database
Set db = CurrentDb()
Dim sql As String

If Not IsNull(DLookup("[HSUP]", "RECUPERATIONS", "[N°JOUR] =" & n)) Then
HSUP = HSUP + DLookup("[HSUP]", "RECUPERATIONS", "[N°JOUR] =" & n)
sql = "UPDATE RECUPERATIONS SET TOTAL_HSUP = " & HSUP & " WHERE N°JOUR = " & n
db.Execute (sql)
End If
End if
Next

Je ne suis pas une experte en sql. J'ai cherché sur plusieurs forums, j'ai affiché mon sql et je n'ai pas l'impression que c'est faux :/
Je vous remercie d'avance pour votre aide.
Afficher la suite 

Votre réponse

6 réponses

Messages postés
13804
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
15 décembre 2018
0
Merci
Bonjour,

Manque un point virgule après le n ";"
lulu16100
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
-
Bonjour,

En effet j'ai déjà essayé avec et sans mais toujours la même erreur:
sql = "UPDATE RECUPERATIONS SET TOTAL_HSUP = " & HSUP & " WHERE N°JOUR = " & n & " ;"
db.Execute (sql)
f894009
Messages postés
13804
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
15 décembre 2018
-
Re,

Sauf erreur de ma part, les variables doivent etre entre apostrophe
sql = "UPDATE RECUPERATIONS SET TOTAL_HSUP = "" & HSUP & "' WHERE N°JOUR = '" & n & "';"
Commenter la réponse de f894009
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
0
Merci
re,
je passe à une erreur 3464 type de données incompatible dans l'expression du critère. Mes variables sont des décimales.
f894009
Messages postés
13804
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
15 décembre 2018
-
Re,

Le champ que vous voulez mettre a jour est de quel format: entier, decimal ???
Commenter la réponse de lulu16100
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
0
Merci
format décimal
f894009
Messages postés
13804
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
15 décembre 2018
-
Re,

Pour HSUP oui, mais pas n!!
Le separateur de decimale est-il ok??

Apres verif, il ne faut pas d'apostrophes pour les variables numeriques!!!!!!!!!!!!!!!!!
Commenter la réponse de lulu16100
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
0
Merci
Qu'entendez vous par séparateur de décimal?
lulu16100
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
> f894009
Messages postés
13804
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
15 décembre 2018
-
J'ai résolu mon problème c'est bien une histoire de virgule dans mon sql il faut que ce soit un point et non une virgule. Voici mon code:

If Not IsNull(DLookup("[HSUP]", "RECUPERATIONS", "[N°JOUR] =" & n)) Then
hs = hs + DLookup("[HSUP]", "RECUPERATIONS", "[N°JOUR] =" & n)
DoCmd.RunSQL ("update RECUPERATIONS set TOTAL_HSUP =" & Str(hs) & " Where N°JOUR=" & n & ";")
End If
lulu16100
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
-
Bonjour,
Il faut que je supprime une partie de mes données qui sont confidentielles avant de vous la transmettre (d'ailleurs comment fait-on?).
Je viens de trouver le problème mais je n'ai pas encore la solution... Quand HSUP n'a pas de chiffre après la virgule je n'ai pas de message d'erreur par contre dès qu'il y a un chiffre ça plante... Pourtant je viens à nouveau de vérifier et TOTAL_HSUP est bien un décimal!
f894009
Messages postés
13804
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
15 décembre 2018
-
Bonjour,
TOTAL_HSUP est bien un décimal!
Tout a fait, mais si dans la table c'est un point il faut que TOTLA_HSUP ait un point pas une virgule. Remplacer la virgule par un point

essayez ceci pour connaitre le separateur decimal system:
Sep = Application.International(xlDecimalSeparator)
lulu16100
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
-
Bonjour,

J'ai résolu mon problème c'est bien une histoire de virgule dans mon sql il faut que ce soit un point et non une virgule. Voici mon code:

If Not IsNull(DLookup("[HSUP]", "RECUPERATIONS", "[N°JOUR] =" & n)) Then
hs = hs + DLookup("[HSUP]", "RECUPERATIONS", "[N°JOUR] =" & n)
DoCmd.RunSQL ("update RECUPERATIONS set TOTAL_HSUP =" & Str(hs) & " Where N°JOUR=" & n & ";")
End If
f894009
Messages postés
13804
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
15 décembre 2018
-
Bonjour,
Comme quoi tout detail est important.....
Commenter la réponse de lulu16100
Messages postés
94
Date d'inscription
mardi 3 décembre 2013
Dernière intervention
11 octobre 2018
0
Merci
une virgule
Commenter la réponse de lulu16100
0
Merci
Nice Details!
http://mondovinofilm.com/kalender-november-2018/
http://mondovinofilm.com/calendario-noviembre-2018/
http://mondovinofilm.com/calendario-novembro-2018/
http://mondovinofilm.com/calendrier-decembre2018/
http://mondovinofilm.com/kalender-januar-2019/
-
https://mybtechlife.com/november-2018-calendar-printable/
https://mybtechlife.com/blank-november-2018-calendar/
https://mybtechlife.com/november-2018-calendar-template/
https://mybtechlife.com/printable-november-2018-calendar/
https://mybtechlife.com/november-2018-printable-calendar/

https://mybtechlife.com/december-2018-calendar-template/
https://mybtechlife.com/calendar-2019-printable/
https://mybtechlife.com/blank-calendar-template/
https://mybtechlife.com/halloween-images/
Commenter la réponse de MondovinoFilmCalndario