Comment trouver les enregistrement selon cette condition?

Résolu
Signaler
Messages postés
33
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
17 avril 2014
-
Messages postés
33
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
17 avril 2014
-
Salut,
j'ai ma base Access liée à vb6 via ADO,

je veux rechercher tous les enregistrements dont le niveau='" & text1 & "', le sexe=F, date_inscription < 24/11/année actuelle, ainsi que les date _naissance dont les mois sont: 1 , 2 et 3. et l'année de naissance = année actuelle - 5.
j'ai essayé:
sql="select * from eleves where niveau='" & text1 & "' and sexe='F' and month(date_naissance) between 1 and 3 and year(date_naissance)=year(now)-5"

mais ça marche pas.
Merci.

8 réponses

Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
30 octobre 2011

Bonjour,

Déjà, comme dit précédemment l'expression 11/24/year(Now()) n'est pas correcte
Remplace:
and date_inscription < 11/24/year(Now())


par:
And year(date_inscription=year(now())) And month(date_inscription) & day(date_inscription)<1124

et dis nous ce qu'il en résulte.
Messages postés
33
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
17 avril 2014

Salut,
j'ai ma base Access liée à vb6 via ADO,

je veux rechercher tous les enregistrements dont le niveau='" & text1 & "', le sexe=F, date_inscription < 24/11/année actuelle, ainsi que les date _naissance dont les mois sont: 1 , 2 et 3. et l'année de naissance = année actuelle - 5.
j'ai essayé:
sql="select * from eleves where niveau='" & text1 & "' and sexe='F' and month(date_naissance) between 1 and 3 and date_inscription < 24/11/year(now) and year(date_naissance)=year(now)-5"

mais ça marche pas.
Merci.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bonjour,
un simple msgbox sql te permettrait de constater la raison : tu y verrais par exemple que "year(Now)" s'y trouve au lieu de "2011"
les noms de certaines de tes variables sont carrément insérés dans la chaîne au lieu de leurs valeurs ! (guillemets manquants avant le passage de leurs valeurs)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
33
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
17 avril 2014

Salut,
merci de m'avoir répondu
mais ça marche toujours pas,
j'ai bien essayé toutes vos propositions mais rien ne change.
Peut être n'étais-je pas assez claire
Ce que je veux faire c'est un recensement des élèves selon le niveau, dont le sexe est F, la date d'inscription est inférieure au 24/11 de chaque année, l'âge est 6 ans soit les dates de naissance dont les mois sont 1,2 et 3 et l'année year(now)-5 ainsi que les dates de naissance dont les mois sont entre 4,12 et l'année year(now)-6
par exemple
élève 1:
date de naissance 12/02/2001 date inscription 10/09/2010 n'est pas compté. la date de naissance ne répond à la condition year(now)-5 ou year(now)-6. .
élève 2:
date de naissance 10/02/2006 date inscription 23/11/2009 compté. condition réalisée: le mois est netre 1 et 3 est l'année de naissance= year(now)-5.
élève 3:
date de naissance 24/08/2005 date inscription 12/09/2011 compté.condition réalisée: le mois est entre 4et 12 est l'année de naissance= year(now)-6.
élève 4:
date de naissance 24/08/2005 date inscription 24/11/2011 non compté.la condition n'est pas réalisée: la date d'inscription est égale au # 24/11/year(now) #.
Merci.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
j'ai bien essayé toutes vos propositions mais rien ne change

Montre donc la requête écrite après prise en compte de ces remarques (et non "propositions") !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
30 octobre 2011

Bonjour a tous,

La requête initiale est incomplète.
Aucune sélection n'est effectuée sur year(now)-6
Ajouter une condition Or year(date_naissance)=year(now())-6 en faisant attention aux parenthèses en fonction du résultat recherché.

En plus, comme le précisait ucfoutu, problème avec 24/11/year(now).
Messages postés
33
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
17 avril 2014

Salut,

voici mon code:
'Filles ayant 6 ans
 
Connection
sql = "select * from eleves where niveau='" & text1 & "' and sexe='F' and (month(date_naissance) between 1 and 3) and year(date_naissance)=year(Now())-5 and (month(date_naissance)between 4 and 12) and year(date_naissance)=year(Now())-6 and date_inscription < 11/24/year(Now()) "
 
 
If rs.State = 1 Then rs.Close
rs.Open sql, DB, 1, 2
 
Dim wrdapp  As Excel.Application
Dim wrdDoc As Excel.Workbook
 
Set wrdapp = New Excel.Application
Set wrdDoc = wrdapp.Workbooks.Open(App.Path & "\rece.xls")
 
 
wrdDoc.Application.Cells(33, 4).Value = rs.RecordCount
wrdapp.Visible = True
 
Set wrdapp = Nothing
Set wrdDoc = Nothing

Le resultat:
la cellule (33,4) de la feuille Excel affiche 0, alors que j'ai dans la table eleves:
fille1:
date_naissance=02/01/2006 (condition du mois de naissance entre 1 et 3) et année de naissance = Year(now())-5
date_inscription=06/01/2010 condition de date_inscription < 24/11/year(now())
Fille2:
date_naissance=02/11/2005 condition du mois de naissance entre 4 et 12) et année de naissance = Year(now())-6
date_inscription=06/01/2009 condition de date_inscription < 24/11/year(now())

N.B:J'ai essayé les formats de date mm/dd/yyyy et dd/mm/yyyy mais rien ne change. Les signes # date # afiiche message d'erreur." syntax error in date in query expression..."

Merci.
Messages postés
33
Date d'inscription
vendredi 29 juin 2007
Statut
Membre
Dernière intervention
17 avril 2014

Merci infiniment GG72
ça marche très bien je vous en suis très reconnaissant.