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 :

Problème recherche par date


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 13
    Points
    13
    Par défaut Problème recherche par date
    Bonjour à tous,
    J'ai un table avec plusieurs champs dont un champs Date/heure (Entrée le).
    je tente de faire une requête avec un recherche par date, J'ai donc fait un contrôle TextBox au format Date (MaDate).
    Dans ma requête dans critère dans le champs (Entrée le) j'ai indiqué [MaDate] mais voila peu importe la date rien n'apparaît, j'ai finalement trouvé qu'il recherche la date et heure exact .
    Donc comment faire pour que la requête prenne en compte seulement la date et ne tienne pas compte de l'heure.
    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Tu peux le faire de plusieurs façons :

    1. Supprime l'heure de la date par calcul d'une nouvelle date
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      DateSerial(year([TaTable].[TonChampDate]); month([TaTable].[TonChampDate]); Day([TaTable].[TonChampDate])) = [TaDateCherchee]
    2. Comparaison texte entre 2 dates formatées de la même façon
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Format([TaTable].[TonChampDate]; "aaaa\-mm\-jj") = format([TaDateCherchee]; "aaaa\-mm\-jj")
    3. Supprime la partie heure de la date. Les dates sont stockées comme des réels où la partie entière indique le nombre de jours depuis une date de référence et la partie décimales le nombre de centièmes de seconde depuis 00:00:00.
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      int([TaTable].[TonChampDate])= int([TaDateCherchee])
    4. Ajoute un intervalle d'heures au critères
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [TaTable].[TonChampDate] between [TaDateCherche] and [TaDateCherche]+timeserial(23; 59; 59)
    5. Trouve le lendemain
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [TaTable].[TonChampDate] >= [TaDateCherche]
      et
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [TaTable].[TonChampDate] < DateAdd("j"; 1; [TaDateCherche])


    Ma préférée est la solution 1.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Ok j'ai juste pour être sur je met bien cela dans mon WHERE dans ma requete pas dans mon code VBA? car cela ne fonctionne pas pour toutes les méthodes.
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DT_Historique.EmployeeName, DT_Historique.EmployeeLocation, DT_Historique.TimeIN
    FROM DT_Historique
    WHERE Format(DT_Historique.TimeIN; "aaaa\-mm\-jj") = format([Madate]; "aaaa\-mm\-jj");

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Merci Marot_r j'ai finalement compris que ton code était en access pour le SQL je devais passer en mode anglais et donc remplacer les ; par des , et la date de aaaa-mm-jj à yyyy-mm-dd
    Le tout fonctionne donc encore merci, voici le code pour ceux qui auraient le même problème

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DT_Historique.EmployeeName, DT_Historique.EmployeeLocation, DT_Historique.TimeIN
    FROM DT_Historique
    WHERE (Format(DT_Historique.TimeIN, 'yyyy-mm-dd') = Format([Madate], 'yyyy-mm-dd'));

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Pour info, si on tape dans l'éditeur de requête (mais pas en SQL) il faut le taper en français avec les séparateurs ";" et Access fait la traduction en anglais pour le SQL.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. [AC-2000] Recherche par date comprise dans un intervalle
    Par polo31 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/04/2020, 16h56
  2. [MySQL] Faire une recherche par DATE
    Par bullrot dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/10/2008, 14h38
  3. Faire une recherche par date
    Par ghnawfal dans le forum JSF
    Réponses: 13
    Dernier message: 11/04/2008, 07h35
  4. recherche par date vba excel
    Par fred014 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/03/2007, 13h35
  5. Moteur de recherche par date
    Par Prue dans le forum ASP
    Réponses: 17
    Dernier message: 27/08/2003, 16h07

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