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 :

Extraire la date d'un type DateTime [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Par défaut Extraire la date d'un type DateTime
    Bonjour,

    J'ai une requête qui me permet de lister toutes les dates de rendez-vous de clients.
    Malheureusement la date est exprimée en type DateTime.
    je souhaiterais pouvoir extraire la date seulement de cette requête.
    J'ai donc essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CDate(Int([JourHeureRdv])) = [JourHeureRdv]
    La requête ne retourne rien.
    J'ai tenté d'utiliser la fonction Int seule, pour ne retourner que la partie entière de la date :
    La requête ne retourne rien.
    Je me suis replié sur la fonction "Format":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format([JourHeureRdv]; "dd/mm/yyyy")
    J'ai des erreurs.
    J'ai pensé à utiliser la fonction droite ou gauche en enlevant 9 caractères de la droite ou 10 de la gauche puisque le format DateTime comprend 19 caractères , espace compris (21/10/2012 17:19:30). Mais cette fonction ne marche qu'avec un type String et non avec un type Date.
    J'ai lu le tutoriel de Maxence Hubiche. Peut-être n'ai-je pas su bien le comprendre ?

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 002
    Par défaut ajout du format
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format([JourHeureRdv]; "dd/mm/yyyy")
    J'ai des erreurs.
    pourtant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format("21/10/2012 17:19:30","dd/mm/yyyy")
    renvoie bien : 21/10/2012.
    Sinon, essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [JourHeureRdv] = cdate(format(left(cstr([JourHeureRdv]),10),"dd/mm/yyyy"))

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Par défaut
    Merci tee_grandbois de m'avoir répondu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format("21/10/2012 17:19:30","dd/mm/yyyy")
    renvoie bien : 21/10/2012.
    Je comprends mais je ne peux pas rentrer manuellement chaque date. Je cherchais donc en employant cette méthode à récupérer la valeur du champ ert je n'y parviens pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [JourHeureRdv] = cdate(format(left(cstr([JourHeureRdv]),10),"dd/mm/yyyy"))
    Je viens d'essayer ce code et la requête renvoie une incompatibilité de type.
    J'ai cherché sur dans les Access, VBA, Excel, SQL mais malgré mes efforts je.

  4. #4
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 002
    Par défaut
    peux tu contrôler que toutes tes dates sont correctes ?
    Exécute le code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT JourHeureRdv, IsDate(Format(Left(CStr([JourHeureRdv]),10),"dd/mm/yyyy")) AS dateconv
    FROM matable
    WHERE (((IsDate(Format(Left(CStr([JourHeureRdv]),10),"dd/mm/yyyy")))=False));

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Par défaut
    Je viens d'exécuter le code et la requête ne renvoie rien du tout.
    Je te prie de m'excuser de te déranger mais je te promets que ton aide m'est précieuse car je me casse les dents dessus depuis de nombreuses heures.
    Encore merci.
    Les fils de discussion sur ce forum et sur ce sujet sont restés sans solution.
    C'est pour cela que la résolution de ce problème en aiderait plus d'un.

  6. #6
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    9 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9 002
    Par défaut
    Bonsoir,
    tu ne me déranges pas, je suis disponible pour aider ceux qui ont des soucis.
    Pour ton problème, il y a une autre solution : c'est le contrôle visuel (sauf si tu as des dizaines ou des centaines de milliers d'enregistrements). Enlèves le Where et remplace-le par un order by :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT JourHeureRdv,Mid(CStr([JourHeureRdv]),7,4) AS ANNEE, Mid(CStr([JourHeureRdv]),4,2) AS MOIS, Left(CStr([JourHeureRdv]),2) AS JJ, Format(Left(CStr([JourHeureRdv]),10),"dd/mm/yyyy") AS dateconv
    FROM matable
    ORDER BY Mid(CStr([JourHeureRdv]),7,4), Mid(CStr([JourHeureRdv]),4,2), Left(CStr([JourHeureRdv]),2);
    et recherche l'erreur d'abord au début, puis à la fin et ensuite entre les 2...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 109
    Par défaut
    tee_grandbois, je tiens vraiment à te remercier.
    Je viens de suivre tes conseils et cela marche parfaitement.
    J'ai pris le temps également d'étudier ton code pour bien le comprendre.
    Je ne suis pas sûr de pouvoir le reproduire à main levée mais j'en ai bien compris le principe, donc j'ai beaucoup appris.
    Merci à toi très sincèrement.

  8. #8
    Invité de passage
    Femme Profil pro
    Etudiante
    Inscrit en
    Janvier 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1
    Par défaut
    Bonjour, je vien de suivre la solution, mais ca marche pas pour moi.. Je veux que j'extraire le jour de la Date Date/heure, pour que je puisse la comparer avec une autre date du tableau, Svp, aidez moi, cela un compte rendu pour demain.. et je n'ai pas encore terminé, merci d'avance.. Voici un extrait de code php

    <td>
    <?php
    include("connexion.php");
    $sql = "SELECT Count(*) FROM clic
    where DAY('Date:heure')= jour ";
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $nb = mysql_num_rows($req);
    $data = mysql_fetch_array($req);

    echo $data[''];
    echo'</br></br>';

    while($data = mysql_fetch_array($req))
    {
    echo $data[''].'<br/></br>';
    }
    ?></td>

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

Discussions similaires

  1. Recuperer la date d'un type DateTime LinQ
    Par Wiink dans le forum Linq
    Réponses: 8
    Dernier message: 30/11/2010, 12h07
  2. extraire Année sur champs de type Date
    Par airbeone dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/01/2008, 10h23
  3. [Access] extraire une date apartir d'un champs DateTime
    Par touhami dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/01/2008, 10h23
  4. Pour convertir les dates aux types "datetime" sous
    Par nnn2050 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/01/2006, 15h30
  5. Extraire l'année d'un type date
    Par tonyskn dans le forum Oracle
    Réponses: 3
    Dernier message: 10/11/2004, 18h33

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