Syntaxe? SQL macro fonctionne sans résultat

Bonjour, en passant par excel vba, je fais le code suivant:

Sub test()
Dim requete As String
  Set cnx = Nothing

 cnx.Provider = "Microsoft.ACE.OLEDB.12.0"
        'Définition de la chaîne de connexion
        cnx.ConnectionString = "C:\Users\naubin\Desktop\grilledepolyvalence1.accdb"
        'Ouverture de la base de données
        cnx.Open
        For x = 1 To 36
            requete = "UPDATE [Grille polyvalence] " & _
             "set `P" & x & "` = `P" & x & "` * 10 " & _
             "WHERE 'Date_P" & x & "' < '" & (Now - 365) & "' and P" & x & " < 10 and  P" & x & " is not null"
    cnx.Execute requete
        Next x

                Set cnx = Nothing
End Sub

sur ma table:

a

le code ne m'indique aucune erreur et pourtant ma date en P3=14/06/18 remplie bien les condittions pourtant mon 2 reste 2 et ne passe pas à 20. Quelqu'un à une idée?

Bien cordialement,

Naubin

1/ Attention aux guillemets simples, ceux 'du 4' entourent une valeur texte et ceux `du 7` entourent un nom de champs ...

2/ Pour comparer des dates à celle d'aujourd'hui utiliser un code du genre :

WHERE `Champs Date`< CLng(Now)

3/ Il est toujours mieux de fermer une connexion à la fin d'un traitement (ou entre 2 Select) :

Cnx.Close

Pierre

Bonjour,

c'est le 2) qui me manque ! merci beaucoup.

Et merci pour les conseils.

Bien à vous

Naubin

Rechercher des sujets similaires à "syntaxe sql macro fonctionne resultat"