Erreur 3144 UPDATE VBA
Résolu
lulu16100
Messages postés
109
Statut
Membre
-
f894009 Messages postés 17413 Statut Membre -
f894009 Messages postés 17413 Statut Membre -
Bonjour à tous,
J'ai une erreur de syntaxe sur le code suivant:
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.
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.
A voir également:
- Erreur 3144 UPDATE VBA
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Nettoyage windows update - Guide
- Wsus offline update - Télécharger - Systèmes d'exploitation
5 réponses
re,
je passe à une erreur 3464 type de données incompatible dans l'expression du critère. Mes variables sont des décimales.
je passe à une erreur 3464 type de données incompatible dans l'expression du critère. Mes variables sont des décimales.
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!
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!
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En effet j'ai déjà essayé avec et sans mais toujours la même erreur:
Sauf erreur de ma part, les variables doivent etre entre apostrophe
sql = "UPDATE RECUPERATIONS SET TOTAL_HSUP = "" & HSUP & "' WHERE N°JOUR = '" & n & "';"