Help à propos d'un code pour date

Signaler
Messages postés
53
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
23 mars 2005
-
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
-
hello,

je voudrais que dans un formulaire s'affiche toutes les locations à telle date. J'ai une table LOCATION avec les champs DateDebut et DateFin (exple 16/06/04 et 17/06/04), mais en requête paramétrée, seules les date recherchée = DateDEbut apparaitront, et si j'entre en date recherchée le 17/06/04, rien n'apparaitra réservé, alors que la salle sera bel et bien occupée. On m'a donné un début de piste que j'ai essayé d'exploiter, mais je ne pense pas être pour autant sortie du problème.Voici mon code actuel, situé sur le bouton de commande de recherche :

  Dim chxrep
    Dim NumEnr, i As Integer

    chxrep = InputBox("Entrer la date recherchée", "date")
     Dim Db As Database
     Dim rs As Recordset
     Set Db = CurrentDb()
    Set rs = Db.OpenRecordset("LOCATION")
     rs.MoveFirst
     For i = 1 To rs.RecordCount
        If Val(rs("DateDebutLoc").Value) <> Val(chxrep) Then
            rs.MoveNext
          Else
        Exit For
        End If
     Next i
    rs.Close
     
    stDocName = "form definitif recherche dispo"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    DoCmd.Maximize
    
    Db.Execute ("SELECT DISTINCTROW [DateDebutLoc], [DateFinLoc] FROM LOCATION WHERE ((([DateDebutLoc])<=[formenregistrementlocation]![DateDebutLoc]![chxrep]) AND (([DateFinLoc])>=[formenregistrementlocation]![DateFinLoc]![chxrep]))")

    If Not rs.EOF Then Rep = MsgBox("La salle" & [NomSalle] & "est occupée")



Quelqu'un peut-il m'aider à rectifier tout ça? merci :)

3 réponses

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Utilises des Controles DTPicker ( Microsoft Windows Common Controls 2-6-0 ) pour le choix des Dates.

---------------------------------------------------------------------
DateDebut = DateValue(Format(DTPicker1, "dd/mm/yyyy"))
DateFin = DateValue(Format(DTPicker2, "dd/mm/yyyy"))

Set db = OpenDatabase(CheminBase) ' Définition base de donnée

Set Rq= db.OpenRecordset("select * from Location where DateDebut <= #" & Format(DateDebut, "mm/dd/yy") & " # and DateFin <= #" & Format(DateFin, "mm/dd/yy") & " # ")

if Rq.recordcount=0 then
MsgBox("La salle est occupée")
end if

set Rq=nothing
Set db=nothing
---------------------------------------------------------------------

It@li@
Messages postés
53
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
23 mars 2005

hello ,

oui mais, en mettant ces contrôles DTPicker, mes champs date début et date fin ne sont pas renseignés, et donc non enregistrés dans mes tables, je me trompe?
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
avec un DTPicker tu peux lui fixer une date ou bien prendre sa valeur pour en faire ce que tu veux....

Mais je ne vois pas ton souci !!

It@li@