DTPicker :please help!

gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006 - 21 sept. 2006 à 12:18
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 22 sept. 2006 à 11:39
Rebonjour,

Voilà je me suis rendu compte lors de mon projet, lorsque je voulais déterminer un intervalle de temps à l'aide de deux DTPicker, cela ne fonctionnais pas du tout.

Voici ce que j'avvais écris:
strReq= "Left (StartDate,10) >=' " & DTPIcker1.Value & " ' And Left (StartDate,10) <= ' " & DTPicker2.Value & " ' "

StartDate est un champ de ma base de donnée

En fait, cela ne calcule pas la différence entre mes deux DTPicker.
Exemple:  
DTPicker1=  01/06/2006
DPPicker2= 01/07/2006
Il ne m'affiche rien alors qu'entre ses deux dates j'ai plusieurs enregistrements.
 
Par contre si je mets:
DTPicker1= 01/06/2006
DTPicker2= 22/06/2006
La il m'affiche des enregistrements entre ses deux dates. Je pense qu'il fait la soustraction entre 22 et 1.

Comment dois-je m'y prendre pour faire la différence entre les années, les mois et les jours

SVP là je ne pourrais pas m'en sortir toute seule car je ne vois pas du tout comment faire
Merci d'avance

16 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 sept. 2006 à 12:29
Salut,

remplace peut-être les apostrophes par les dièses (#) de chaque côté des dates

++
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 12:40
Salut Mortalini,


J'ai essayé et ça ne fonctionne pas, il n'y a rien qui change
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 12:41
Excuse!  Mortalino
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 sept. 2006 à 12:46
Pas de prob,

et désolé mais je ne suis pas spécialiste en requête. Je sais juste qu'il y a une histoire de Dièse qque part.

Attend un peu, qqun d'autre t'aidera certainement. ;)

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 12:59
Est-ce-que tu pourrais me dire s'il existe une fonction où je pourrais récupérer des caractères dans mon StartDate
Du genre:

?????????(StartDate, 3 to 10)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 sept. 2006 à 13:05
Oui, avec Mid

Exemple :

MaVariable = "Bonjour"
MsgBox Mid(MaVariable, 4, 4)

--> tu auras en message "jour"

++
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 13:14
Merci, je vais essayer qqch et je te tiens au courant
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 13:34
Voilà j'ai voulu extraire les jours les mois et les années mais sans succès. Peut-être que j'ai fait une erreur voudrais-tu bien m'aider

strReqDate1 = " (Mid(Startdate,6,4)>='" & DTPicker2.Year & "' And Mid(Startdate,6,4)<='" & DTPicker3.Year & " ') Or ((Mid(Startdate,6,4)>='" & DTPicker2.Year & "' And Mid(Startdate,6,4)<='" & DTPicker3.Year & " ') And (Mid(Startdate,4,2)>='" & DTPicker2.Month & "' And Mid(Startdate,4,2)<='" & DTPicker3.Month & " ')) Or ((Mid(Startdate,6,4)>='" & DTPicker2.Year & "' And Mid(Startdate,6,4)<='" & DTPicker3.Year & " ') And (Mid(Startdate,4,2)>='" & DTPicker2.Month & "' And Mid(Startdate,4,2)<='" & DTPicker3.Month & " ') And (Mid(Startdate,1,2)>='" & DTPicker2.Day & "' And Mid(Startdate,1,2)<='" & DTPicker3.Day & " '))"
 strReqDate = strReqDate1

Un peu long mais STP aide moi
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 sept. 2006 à 14:13
Salut,
Peu etre peu tu essayer la clause BETWEEN
strReq"StartDate BETWEEN '" & DTPIcker1.Value & "' AND '" & DTPicker2.Value & "'"> ATTENTION J'ai supprimer les escpaces ta requete mettais '_21/09/2006_' (avec espace = _ ) peu etre que cela peu aussi venir de la.

Sinon je suppose que c'est une requete SQL, peu etre pourrais tu nous donner la requete COMPLETE car la ceci a juste l'air d'etre la clause WHERE
   
@+,   Ju£i?n
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 14:36
En effet voici la requête SQL:

strReqBase = "SELECT StartDate,EndDate,WinderNum,RecipeNum,RecipeName,LotName,ShiftNum,YarnEff,MachEff,ARUCNT,DefCNT,DefTIM,WindTIM,YbCNT,YbDefTIM,DoffCNT,DoffTIM,YarnLgth,AntiLoopCNT,AntiLoopTIM,MatEmptyCNT,MatEmptyTIM FROM ShiftReport"
strReqWhere = " WHERE"


If optSelectDate(1).Value = True Then
            bReqWhere = True
            bReqDate = True
           
            strReqDate1 = " ((Mid(Startdate,6,4)>='" & DTPicker2.Year & "' And Mid(Startdate,6,4)<='" & DTPicker3.Year & " ')) Or ((Mid(Startdate,6,4)>='" & DTPicker2.Year & "' And Mid(Startdate,6,4)<='" & DTPicker3.Year & " ') And (Mid(Startdate,4,2)>='" & DTPicker2.Month & "' And Mid(Startdate,4,2)<='" & DTPicker3.Month & " ')) Or ((Mid(Startdate,6,4)>='" & DTPicker2.Year & "' And Mid(Startdate,6,4)<='" & DTPicker3.Year & " ') And (Mid(Startdate,4,2)>='" & DTPicker2.Month & "' And Mid(Startdate,4,2)<='" & DTPicker3.Month & " ') And (Mid(Startdate,1,2)>='" & DTPicker2.Day & "' And Mid(Startdate,1,2)<='" & DTPicker3.Day & " '))"
            strReqDate = strReqDate1
End If


If bReqWhere = True Then
        strReq = strReqBase & strReqWhere
Else
        strReq = strReqBase    
End If
   


If bReqDate = True Then
            strReq = strReq & strReqDate
End If

Par contre je n'ais pas saisi le problème des espaces
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 15:08
salut julien j'ai essayé avec le beetween mais ça ne passe pas!!


J'ai oublier de préciser que le StartDate donne une date en ASCII. Est-ce-que ça joue avec la valeur des DTPicker?
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
21 sept. 2006 à 16:21
Coucou ya qqn, personne ne vraiment m'aider????
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
22 sept. 2006 à 00:21
Salut,


Je pense (suis certain) que tu dois changer le format de tes dates pour
le format anglais. SQL ne peut rien faire avec des formats autres que
l'anglais.

De cette façon, Between devrait marcher.

Et >= et <= devraient aussi marcher.


Sinon, tu devras modifier tes dates pour un format du genre aaaammjj

En faisant de la sorte avec un champ numérique simple, donc sans séparateur, tu trouveras ton bonheur.

L'important, dans ce cas-ci, c'est de bien mettre l'année en premier à
4 chiffres, puis le mois à 2 chiffres, puis le jour à 2 chiffres
Tes dates auront toujours 8 chiffres et ces chiffres seront toujours croissants à mesure que les dates avancent.

MPi
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
22 sept. 2006 à 08:41
Salut,

Que cela soit du cote SQL ou du COte VB tu peux aussi essayer les Fonction Day, Month, Year => (verifier les equivalent sous SQL)

@+,   Ju£i?n
0
gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006
22 sept. 2006 à 10:06
Salut Julien,


J'ai essayé avec les fonctions Date, Month et Year mais ça na rien donné
Est-ce-que je peu t'envoyer mon code source?


 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
22 sept. 2006 à 11:39
Salut,


Si tu veux. => [mailto:epsylon9@gmail.com epsylon9@gmail.com]


En revanche donne bien tout si tu peux. => je n'ai pas la base de données... D'ailleurs c'est quoi comme base de données






@+,   Ju£i?n
0
Rejoignez-nous