Pb_Date_REQUETESQL_ACCESS/VBA

Bonjour j'ai un problème de format ou de syntaxe lorsque j'exécute ma requete sql en VBA pour qu'elle agisse dans access.

Pourriez-vous m'aider svp ?

Ma requete :

Req = "SELECT Valeur FROM [StressGlobal5] WHERE DataTest format('14/04/2017','dd/mm/yyyy') "

j'essaie de changer le format avec le format() mais ca me met l'erreur ' opérateur absent dans l'expression DataTestformat(...)

Cdlt


La date dans ma base access est de la forme dd/mm/aaaa

Bonjour,

Si dans la table Access le champs 'DataTest' est au format Date, il convient de comparer les valeurs au format entier long, soit :

req = "SELECT Valeur FROM [StressGlobal5] WHERE Clng(DataTest)=" & CLng(CDate("14/04/2017"))

Pierre

Merci pour votre réponse malheureusement ça ne fonctionne pas, ca me retourne l'erreur 'Trop peu de paramètres 1 attendu' :/

La syntaxe de la requête est bonne.

Vérifie si 'Valeur' et 'DataTest' sont bien des champs de la table 'StressGlobal5' (bonne orthographe, bon type, bonne table) et vérifie si le nom de la base est correct + bon chemin

Pierre

Ok merci parfait ca fonctionne, et encore une petite question, la syntaxe suivante est-elle bonne ?

Req = "SELECT * FROM [StressGlobal5] WHERE Clng(DateTest)BETWEEN " & CLng(CDate("14/04/2017") AND " & CLng(CDate("14/08/2017"))

En mode correct, ça donne :

Req = "SELECT * FROM [StressGlobal5] WHERE Clng(DateTest) BETWEEN " & CLng(CDate("14/04/2017")) & " AND " & CLng(CDate("14/08/2017"))

merci beaucoup

j'ai rajouté une caractéristique au WHERE et ça ne fonctionne pas, je ne comprends pas pourquoi ...

UserForm1.TextBox1.Value = Format(UserForm1.TextBox1.Value, "dd/mm/yyyy")

UserForm1.TextBox2.Value = Format(UserForm1.TextBox2.Value, "dd/mm/yyyy")

Critere = UserForm1.ComboBox1.Text

Date1 = UserForm1.TextBox1.Text

Date2 = UserForm1.TextBox2.Text

Indic = UserForm1.TextBox3.Text

Req = "SELECT " & Critere & _

" FROM [StressGlobal5] " & _

" WHERE Indicateur = " & Indic & _

" AND Clng(DateTest) BETWEEN " & CLng(CDate(Date1)) & " AND " & CLng(CDate(Date2))

J'ai pourtant la meme syntaxe que pour Critere avec Indic mais ca ne fonctionne pas , vous auriez une idée svp ?

Dans la requête, les variables textuelles à comparer comme 'Indic' doivent être entourées de guillemets simples :

    With UserForm1
        .TextBox1.Value = Format(.TextBox1.Value, "dd/mm/yyyy")
        .TextBox2.Value = Format(.TextBox2.Value, "dd/mm/yyyy")

        Critere = .ComboBox1.Value
        Date1 = .TextBox1.Text
        Date2 = .TextBox2.Text
        Indic = .TextBox3.Text
    End With

    Req = "SELECT " & Critere & _
          " FROM [StressGlobal5] " & _
          " WHERE Indicateur = '" & Indic & "'" & _
          " AND (Clng(DateTest) BETWEEN " & CLng(CDate(Date1)) & " AND " & CLng(CDate(Date2)) & ")"

Pierre

Merci !

Rechercher des sujets similaires à "date requetesql access vba"