Date en SQL & VB

Résolu
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 - 23 mai 2005 à 15:16
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 - 24 mai 2005 à 09:38
Bonjour, mon problème viens de ma requete SQL je pense, en effet je n'ai pas les bon résultat souhaiter, mon programme consiste a reserver des salle d'un date a une autre.
(ma abse de donnée Access est en type date (pour mes champs date) en type Short date soir jj/mm/aaaa)
J'ai donc 2 variable:
Date de début de ma reservation: Rdebut
Date de fin de ma reservation: Rfin

Je doit parcourir ma table RESERVATION pour qu'il me donne en résultat les date comprise entre cet date de debut et cet date de fin.

Dans ma table ,j'ai :
Une date de commencement: datemanif
Une date de fin: datefin

Je doit afficher des resultat selon si ma Rdebut se trouve entre datemanif & datefin
Ou
si ma date Rfin se trouve entre datemanif & datefin
Ou
Je doit verifier que ma Rdebut est Rfin n'englobe pas ma datemanif et Datefin

Pour shématiser ma recherche elle doit me faire aparaitre sela:
[ [ ] ] & [ [ ] ] & [ [ ] ] & [ [ ] ]

J'ai donc normalement 4 requete SQL
rechreq01 "SELECT RESERVATION.numreserv, Horaire, SALLE.numsalle, Confirmation, Nomsalle, datemanif, datefin FROM SALLE INNER JOIN RESERVATION ON SALLE.numsalle RESERVATION.numsalle WHERE SALLE.numsalle=" & Rsalle & " AND datemanif Between #" & Format(Rdebut, "mm/dd/yyyy") & "# And #" & Format(Rfin, "dd/mm/yyyy") & "#;"
rechreq02 "SELECT RESERVATION.numreserv, Horaire, SALLE.numsalle, Confirmation, Nomsalle, datemanif, datefin FROM SALLE INNER JOIN RESERVATION ON SALLE.numsalle RESERVATION.numsalle WHERE SALLE.numsalle=" & Rsalle & " AND datefin Between #" & Format(Rdebut, "dd/mm/yyyy") & "# And #" & Format(Rfin, "dd/mm/yyyy") & "#;"
rechreq03 "SELECT RESERVATION.numreserv, Horaire, SALLE.numsalle, Confirmation, Nomsalle, datemanif, datefin FROM SALLE INNER JOIN RESERVATION ON SALLE.numsalle RESERVATION.numsalle WHERE SALLE.numsalle=" & Rsalle & " AND #" & Format(Rdebut, "dd/mm/yyyy") & "# Between datemanif And datefin ;"
rechreq04 "SELECT RESERVATION.numreserv, Horaire, SALLE.numsalle, Confirmation, Nomsalle, datemanif, datefin FROM SALLE INNER JOIN RESERVATION ON SALLE.numsalle RESERVATION.numsalle WHERE SALLE.numsalle=" & Rsalle & " AND #" & Format(Rfin, "dd/mm/yyyy") & "# Between datemanif And datefin;"

Je n'ai pas les bon résultat je crois que sa viens d'un problème de forme de date
Je pense avoir pas trop mal expliquer mon problème :/

3 réponses

Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
24 mai 2005 à 09:38
Solution trouvé, peut êter pa performante mais sa marche :
'Je rempli mes combobox Jour Mois et Année
For i = 1 To 31 Step 1
CboJ01.AddItem i
CboJ01.ItemData(CboJ01.ListCount - 1) = i
Next
For i = 1 To 12 Step 1
CboM01.AddItem i
CboM01.ItemData(CboM01.ListCount - 1) = i
Next
For i = 2005 To 2050 Step 1
CboA01.AddItem i
CboA01.ItemData(CboA01.ListCount - 1) = i
Next

'et je les retranscrit dans ma variable sous la forme que je veu
Rdebut = CboM01.ItemData(CboM01.ListIndex) & "/" & CboJ01.ItemData(CboJ01.ListIndex) & "/" & CboA01.ItemData(CboA01.ListIndex)
3
22max Messages postés 72 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 16 mars 2007
24 mai 2005 à 01:44
Quel est le resultat obtenu. Le type de date n'est t'il pas un fomat de adte americain MM/JJ/AAAA ?
22max


Besoin d'argent ? En s'amusant ?
http://www.prizee.com/?refer=Le22
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
24 mai 2005 à 09:34
Le résultat est que les date qu'il me sorte correspond au format américain
mais normalement j'ai améliorer mon code
Etant donné que le programme va servir a des utilisateur noob je doit absolument avoir une date sous la forme française jj/mm/aaaa
Donc j'ai fait 3 combo box ou ils choisissent les jour mois et anné
et apres je les mets dans l'ordre que je veu dans uen variable ainsi je passe au format américain et donc normalement sa marcher oO
0
Rejoignez-nous