Menu

Erreur 3144 UPDATE VBA [Résolu]

lulu16100 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 3 oct. 2018 à 20:14 - Dernière réponse :  MyBtechCalendar
- 12 oct. 2018 à 08:11
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

19 réponses

f894009 13604 Messages postés dimanche 25 novembre 2007Date d'inscription 20 octobre 2018 Dernière intervention - 4 oct. 2018 à 08:10
0
Merci
Bonjour,

Manque un point virgule après le n ";"
lulu16100 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 4 oct. 2018 à 08:18
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 13604 Messages postés dimanche 25 novembre 2007Date d'inscription 20 octobre 2018 Dernière intervention - 4 oct. 2018 à 08:32
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
lulu16100 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 4 oct. 2018 à 08:42
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 13604 Messages postés dimanche 25 novembre 2007Date d'inscription 20 octobre 2018 Dernière intervention - 4 oct. 2018 à 11:56
Re,

Le champ que vous voulez mettre a jour est de quel format: entier, decimal ???
Commenter la réponse de lulu16100
lulu16100 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 4 oct. 2018 à 12:38
0
Merci
format décimal
f894009 13604 Messages postés dimanche 25 novembre 2007Date d'inscription 20 octobre 2018 Dernière intervention - 4 oct. 2018 à 15:56
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
lulu16100 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 4 oct. 2018 à 17:47
0
Merci
Qu'entendez vous par séparateur de décimal?
lulu16100 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention > f894009 13604 Messages postés dimanche 25 novembre 2007Date d'inscription 20 octobre 2018 Dernière intervention - 10 oct. 2018 à 19:35
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 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 10 oct. 2018 à 18:32
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 13604 Messages postés dimanche 25 novembre 2007Date d'inscription 20 octobre 2018 Dernière intervention - 11 oct. 2018 à 07:15
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 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 11 oct. 2018 à 18:46
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 13604 Messages postés dimanche 25 novembre 2007Date d'inscription 20 octobre 2018 Dernière intervention - 12 oct. 2018 à 07:51
Bonjour,
Comme quoi tout detail est important.....
Commenter la réponse de lulu16100
lulu16100 94 Messages postés mardi 3 décembre 2013Date d'inscription 11 octobre 2018 Dernière intervention - 4 oct. 2018 à 18:25
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/
MyBtechCalendar - 12 oct. 2018 à 08:11
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