Windev Pbm SQL

Bonjour,
voila j'ai cette requête sql qui m'affiche toutes les tâches à faire pour un utilisateur, je n'arrive pas à la modifier pour que la requête ne renvoie que les tâches de la semaine en cours!
Voici le code:

SELECT
Agenda.IDUtilisateur AS IDUtilisateur,
Agenda.Titre AS Titre,
Agenda.Description AS Description,
Agenda.EstRépété AS EstRépété,
Agenda.DateHeureDébut AS DateHeureDébut,
Agenda.DateHeureFin AS DateHeureFin,
Agenda.IDAgenda AS IDAgenda,
Agenda.Durée AS Durée,
Agenda.IntervalleRépétition AS IntervalleRépétition,
Agenda.EstJournéeEntière AS EstJournéeEntière
FROM
Agenda
WHERE
Agenda.IDUtilisateur = {pIDUtilisateur}
AND
Agenda.DateHeureDébut BETWEEN {pDateDébut} AND {pDateFin}
ORDER BY
DateHeureDébut ASC

merci d'essayer de m'aider svp
Configuration: Windows XP / Firefox 3.0.18

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. D'accord.

    Dans ce cas, cherche dans ta documentation Hyperfilesql s'il existe un moyen de récupérer des Dates (comme par exemple DateTime.Now() en C#) Tu devrais pouvoir trouver ton bonheur, je l'espère.
    1. Ce code marche super bien car il a été conçu par le créateur du logiciel pcsoft (honolulu), je doit juste faire des modif dans ce programme...j'ai essayé déjà avec des valeurs fixes sa a marché.
      Pour les paramètres impossible de les trouver en dehors du code sql et crois moi j'ai cherché!!!
      La réquête n'est pas spécialement appelé car en fait quand je clique sur un lien cela m'affiche un état et dans la propriété de cette état est relié ma requête (donc pas d'appel avec du code).
      Toutes ces galères font que je n'y arrivent pas!
      1. Ah, je ne connais pas ce système.

        Essayons de trouver ensemble d'où vient le problème.
        - Es-tu sûr de la syntaxe de tes paramètres?
        - Comment appelles-tu cette requête? (je ne parle pas de son nom, mais de son appel dans ton code application)
        - As-tu déjà réussi à obtenir des résultats en fonction de deux dates (pas forcément la semaine en cours) ?
        1. J'utilise Hyperfilesql et je ne trouve pas le bon code!!!

          Peut-être c'est du aux paramètres et dans ce cas la:
          Je n'arrive pas à introduire une valeur dans mes paramètres en dehors du code sql

          Ou alors c'est dans le code sql:
          Je n'arrive pas à délimiter mon résultat que sur la semaine en cour

          Merci pour ton aide Feadin
          1. Bonjour,

            Tout d'abord, tu utilises quel SGBD, en quelle version? (MS-SQL, Oracle, Access,...)

            Plusieurs points me viennent à l'esprit ensuite :
            1. Tu déclare des Alias, mais tu ne les utilise pas dans ton Where... C'est normal?
            Tu peux alléger la lecture de ton code en les utilisant! tu aurais alors

            SELECT 
            Agenda.IDUtilisateur AS IDUtilisateur, 
            Agenda.Titre AS Titre, 
            Agenda.Description AS Description, 
            Agenda.EstRépété AS EstRépété, 
            Agenda.DateHeureDébut AS DateHeureDébut, 
            Agenda.DateHeureFin AS DateHeureFin, 
            Agenda.IDAgenda AS IDAgenda, 
            Agenda.Durée AS Durée, 
            Agenda.IntervalleRépétition AS IntervalleRépétition, 
            Agenda.EstJournéeEntière AS EstJournéeEntière 
            FROM 
            Agenda 
            WHERE 
            IDUtilisateur = {pIDUtilisateur} 
            AND 
            DateHeureDébut BETWEEN {pDateDébut} AND {pDateFin} 
            ORDER BY 
            DateHeureDébut ASC 


            2. Quand tu dis que tu n'arrive pas à la modifier... Tu peux être plus explicite? (tu ne trouve pas le bon code? ton SGBD refuse les modifications? ...?)

            3. Si tu veux limiter à la semaine en cours, quel que soit les paramètres,... Bah je pourrais peut-être t'aider lorsque je saurais sur quel système tu tourne :)
            A noter que je pense que dans ce cas, tu ferais mieux de modifier ton appel à la requête dans ton code, en mettant les dates de la semaine en cours en paramètre, mais c'est toi qui vois.

            Après, je ne sais trop quoi te dire, le corps de ta requête me semble bon. Fais attention tout de même : le BETWEEN est inclusif. C'est à dire que les pDateDébut et pDateFin seront COMPRIS dans les résultats.

            Ah, dernier petit point : évite les accents dans ta requête ;)

            Cordialement,
            Feadin