IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Requête qui affiche les enregistrements de la semaine en cours


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 36
    Points
    36
    Par défaut Requête qui affiche les enregistrements de la semaine en cours
    Bonjour à tous,

    Je voudrai créer une requête qui affiche les enregistrements de LA SEMAINE EN COURS.

    J'ai réussi à faire cela avec le mois en cours en inscrivant (en mode création):
    Mois([DateRDV]) dans le Champ
    Mois(Maintenant()) dans le Critère,
    soit le sql suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT RDV.NumRDV, RDV.DateRDV, [CiviliteClient]+" "+[PrenomClient]+" "+[NomClient] AS Client, [NomAgent]+" "+[PrenomAgent] AS [Agent responsable], [NomAgentStagiaire]+" "+[PrenomAgentStagiaire] AS [Stagiaire responsable], RDV.DatePriseRDV AS [RDV pris le], [NomOrigineRDV]+" "+[PrenomOrigineRDV] AS Par, RDV.HeureRDV AS [Heure du RDV], RDV.LieuRDV AS Lieu, RDV.ServiceRDV AS Service, RDV.MotifRDV AS Motif, RDV.ResultRDV AS Résultat, RDV.CommentaireRDV AS Commentaire
    FROM RDV AS RDV_1, AGENT RIGHT JOIN (AGENT_STAGIAIRE RIGHT JOIN (ORIGINE_RDV INNER JOIN (Civilite_Client INNER JOIN (CLIENT INNER JOIN RDV ON CLIENT.NumClient = RDV.NumClient) ON Civilite_Client.NumCiviliteClient = CLIENT.NumCiviliteClient) ON ORIGINE_RDV.NumOrigineRDV = RDV.OrigineRDV) ON AGENT_STAGIAIRE.NumAgentStagiaire = RDV.NumAgentStagiaireResponsable) ON AGENT.NumAgent = RDV.NumAgentResponsable
    WHERE (((Month([DateRDV]))=Month(Now())));
    Seulement, cela ne marche pas lorsque je fais la même chose pour la semaine en cours. La fonction Semaine ne semble pas exister??

    Comment faire?

    S'il le faut, Pouvez-vous m'aider à créer le Vba adéquat??

    Merci d'avance à tous

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Bonjour,
    regarde la fonction DatePart() notamment avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox DatePart("ww",Now())
    d'autres exemples dans la FAQ : http://access.developpez.com/faq/?pa...DAtPremJourSem et http://access.developpez.com/faq/?page=dates#InfoDate
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    essaie avec cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function Semaine(dat As Date) As Integer
        Dim a As Integer
        a = Int((dat - DateSerial(Year(dat), 1, 1) + _
            ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) _
            Mod 7) - 3) / 7) + 1
        If a = 0 Then
            a = Semaine(DateSerial(Year(dat) - 1, 12, 31))
        ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) _
            Mod 7 <= 3 Then
            a = 1
        End If
        Semaine = a
    End Function
    et ton code devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...WHERE (((Semaine([DateRDV]))=Semaine(Now())));
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    essaie avec cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function Semaine(dat As Date) As Integer
        Dim a As Integer
        a = Int((dat - DateSerial(Year(dat), 1, 1) + _
            ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) _
            Mod 7) - 3) / 7) + 1
        If a = 0 Then
            a = Semaine(DateSerial(Year(dat) - 1, 12, 31))
        ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) _
            Mod 7 <= 3 Then
            a = 1
        End If
        Semaine = a
    End Function
    et ton code devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...WHERE (((Semaine([DateRDV]))=Semaine(Now())));

    Merci beaucoup, mais tu vas te moquer....
    Je suis dans ma requête, où dois-je aller pour taper ce codeVBA ?? Je sais...et j'ai honte !

    merci encore d'avance !

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    place le code dans un module déjà existant ou à créer.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    place le code dans un module déjà existant ou à créer.
    et que dois-je faire une fois ce module créé???

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par fanico11 Voir le message
    et que dois-je faire une fois ce module créé???
    MERCI CA MARCHE

    Merci pour tout, j'ai mis du temps mais j'ai compris !!!

    A bientôt!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/10/2014, 15h18
  2. Requête qui affiche les top10
    Par fardon57 dans le forum SQL
    Réponses: 4
    Dernier message: 05/12/2008, 12h13
  3. Requête qui affiche les rdv DU JOUR
    Par fanico11 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 24/04/2008, 16h22
  4. [Requête]Afficher les enregistrements de l'année en cours
    Par holodev dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 21/03/2007, 11h29
  5. Réponses: 4
    Dernier message: 17/10/2005, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo