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

Delphi Discussion :

Enregistrement DateTimePicker sans l'heure


Sujet :

Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 62
    Par défaut Enregistrement DateTimePicker sans l'heure
    Bonjour à tous,

    je développe une appli en delphi, avec composants BDE.
    J'utilise également une base de données Access.

    J'ai réussi à récupérer une saisie de datetimepicker dans la base access mais j'aimerais que cette dernière ne comporte pas l'heure en effet sous access le champs se présente ainsi

    09/02/2007 13:23:01

    je voudrais seulement

    09/02/2007

    A savoir que le champs sous access est défini en date/time
    et que dans mon code c'est :

    Fieldbyname('datecv').asdatetime:=datetimepicker1.date;

    Merci de votre aide

    Amo

  2. #2
    Membre confirmé Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Par défaut
    Une premiere solution serait de dégager la partie après l'espace (pas beau et pas propre) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var Heure, TaDate : String;
     
    heure := LeftStr(TaDate, pos(' ',TaDate)-1);
    Ah, j'avais prévenu, c'est moche

  3. #3
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par jambonstar
    Ah, j'avais prévenu, c'est moche

    Il me semble que le XX/XX/XXXX fait toujours le même nombre de caractères non? Alors pourquoi s'embêter?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Heure := LeftStr(TaDate, 10);
    Vala
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  4. #4
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    D'abord comme ça dans Delphi (pour supprimer heures/minutes/secondes, on supprime la partie fractionnaire du TDateTime)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fieldbyname('datecv').asdatetime:=trunc(datetimepicker1.date);
    Et après c'est une histoire de format d'affichage dans Access... et là... la,la,la

  5. #5
    Membre confirmé Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Par défaut
    Citation Envoyé par Pedro

    Il me semble que le XX/XX/XXXX fait toujours le même nombre de caractères non? Alors pourquoi s'embêter?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Heure := LeftStr(TaDate, 10);
    Vala
    Wouarf !! C'est encore plus moche tout ça !!
    Seul probleme, les Options régionales du pc. Et oui, si le mec il veux ses date comme ceci : "DD/MM/YY" et bien on est plus qu'à 8 caractères..
    Par contre j'ai jamais vu personnes retirer l'espace entre la date et l'heure.

  6. #6
    Membre confirmé Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Par défaut
    @Waskol : Je crois que ça c'est pas top, parce que ca ne faire que mettre l'heure à minuit. Enfin je dis ça mais j'ai pas tenté.

    Sinon, on peut utiliser FormatDateTime.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Jour := FormatDateTime('DD/MM/YYYY', MonDateTime);
    Et l'affaire est dans le sac.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 158
    Par défaut
    Bonjour

    De cette manière tu pourras extraire la date

    datetostr(DateTimePicker1.Date)

    A+

    pitango

  8. #8
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par jambonstar
    Wouarf !! C'est encore plus moche tout ça !!
    De quoi ?
    Citation Envoyé par jambonstar
    Seul probleme, les Options régionales du pc. Et oui, si le mec il veux ses date comme ceci : "DD/MM/YY" et bien on est plus qu'à 8 caractères..
    Effectivement tu as raison
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  9. #9
    Membre confirmé Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Par défaut
    Citation Envoyé par pitango
    Bonjour

    De cette manière tu pourras extraire la date

    datetostr(DateTimePicker1.Date)

    A+

    pitango
    Oui c'est vrai mais si c'est un windows US, la date extraite sera MM/DD/YYYY et non pas le format qu'il souhaite dans ca demande.

  10. #10
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Citation Envoyé par jambonstar
    @Waskol : Je crois que ça c'est pas top, parce que ca ne faire que mettre l'heure à minuit. Enfin je dis ça mais j'ai pas tenté.

    Sinon, on peut utiliser FormatDateTime.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Jour := FormatDateTime('DD/MM/YYYY', MonDateTime);
    Et l'affaire est dans le sac.
    Oui mais non

    Effectivement, mon affaire met les heures/minutes/secondes à zéro, j'ai pensé qu'il voulait vraiment supprimer les heures/minutes/secondes parasites de sa base de donnée, donc en ce sens, je pense que c'est une première étape (si il veut pouvoir comparer deux dates plus tard dans ses requêtes)

    Sinon, son problême d'affichage (le formattage sans les heures/minutes/secondes), c'est bien côté Access, pas Delphi, hein ?

    Parce que sinon, la méthode la moins sauvage est bien celle-ci (bandes de sauvages ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Affichage:=FormatDateTime('dd/mm/yy',Date);

  11. #11
    Membre confirmé Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Par défaut
    Citation Envoyé par waskol
    Oui mais non

    Effectivement, mon affaire met les heures/minutes/secondes à zéro, j'ai pensé qu'il voulait vraiment supprimer les heures/minutes/secondes parasites de sa base de donnée, donc en ce sens, je pense que c'est une première étape (si il veut pouvoir comparer deux dates plus tard dans ses requêtes)

    Sinon, son problême d'affichage (le formattage sans les heures/minutes/secondes), c'est bien côté Access, pas Delphi, hein ?

    Parce que sinon, la méthode la moins sauvage est bien celle-ci (bandes de sauvages ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Affichage:=FormatDateTime('dd/mm/yy',Date);
    Y-a pas à dire, ça se voit que c'est vendredi..

  12. #12
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Citation Envoyé par waskol
    D'abord comme ça dans Delphi (pour supprimer heures/minutes/secondes, on supprime la partie fractionnaire du TDateTime)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fieldbyname('datecv').asdatetime:=trunc(datetimepicker1.date);
    + trunc ou int, car en acces il affiche dans la base seulement les dates et ajoute l'heur si la parti décimal>0

  13. #13
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Citation Envoyé par edam
    + trunc ou int, car en acces il affiche dans la base seulement les dates et ajoute l'heur si la parti décimal>0
    Merci Edam de cette confirmation !!!
    @Jambonstar : c'est Vendredi...

Discussions similaires

  1. [Toutes versions] Enregistrement avec date et heure sans effacer existant
    Par 8e8eClo dans le forum Word
    Réponses: 2
    Dernier message: 25/01/2011, 15h56
  2. Recuperer la date sans l'heur dans un champ datetime
    Par bob33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/06/2010, 12h59
  3. [VS2003][DataGrid] Colonne DateTime sans l'heure ?
    Par Bapt.ice dans le forum Visual Studio
    Réponses: 9
    Dernier message: 08/06/2006, 17h08
  4. [VB]Obtenir la date, mais sans l'heure...
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/02/2006, 13h00
  5. [C#] DateTimePicker ...sans les date !
    Par Dinytro dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/08/2005, 16h53

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