Requête SQL avec filtre d'une seule Date

Résolu/Fermé
Signaler
Messages postés
256
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
17 octobre 2021
-
Messages postés
256
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
17 octobre 2021
-
Bonjour

Je développe une petite application dans le VB6 avec Acces. Je tente d'avoir la somme d'une colonne grâce à la requête SQL.

dans la première requête l'application me renvoie la somme.


SQLs = "select sum(KgsNetsOuvrier) from TableRepartition where ((Dossier ='" & CStr(VDoss) & "') and (Produit='" & CStr(CmbProduit) & "'))"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

LblKgsNetsProduit = Format(RS.Fields(0), "#,##0.00")

RS.Close






dans la deuxième requête, que je veux plus précise en filtrant par date, l'application ne me renvoie rien,
Merci pour votre aide.

SQLs = "select sum(KgsNetsOuvrier) from TableRepartition where ((Dossier ='" & CStr(VDoss) & "') and (DateRecolte =#" & Format(DTP.Value, "YYYY/MM/DD") & "#) and (Produit='" & CStr(CmbProduit) & "'))"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

LblKgsNetsProduit = Format(RS.Fields(0), "#,##0.00")

RS.Close

1 réponse

Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 004
Bonjour,

Quel est le type de DateRecolte ? Il faut se méfier quand on fait des égalités sur les dates, à cause de la composante horaire qui peut être masquée mais bel et bien prise en compte.
Le mieux dans ce cas est de faire un encadrement avec BETWEEN, entre le jour voulu et jour+1

Xavier
Messages postés
256
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
17 octobre 2021

Re bonjour

Merci pour votre intervention. Votre question "Quel est le type de DateRecolte ?" a été le déclic pour me faire penser au paramétrage de la DateRecolte dans la TableRepartition ( acces)
L'origine du problème résidait dans le masque de saisie.

Merci une autre fois