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

Bases de données Delphi Discussion :

vérifications des dates


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de smail21
    Profil pro
    Inscrit en
    Février 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2005
    Messages : 152
    Par défaut vérifications des dates
    Bonjour à tous!
    je développe une application de gestion de stock d'un magasin, et ce qui m'interesse c'est d'afficher une allerte et une liste de produits qui leur reste 10jours(par exemple) avant la date de péremption
    donc j'ai un champs dans la table du stock qui m'indique pour chque produit la date de péremption, soit ce champs "Datep".
    donc je voudrais savoir comment le faire!
    en, général on utilise un code long comme le jour qui compare les mosi et les jours....
    y'a t-il un autre moyen de le faire!?
    merci

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    ca peut dépendre du SGBD que tu utilises....

    Par exemple, avec MySQL, il y a la fonction DATEDIFF.

  3. #3
    Membre confirmé Avatar de smail21
    Profil pro
    Inscrit en
    Février 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2005
    Messages : 152
    Par défaut
    j'utilise des tables paradox

  4. #4
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 28
    Par défaut
    Dans la plupart de sgbd, les dates sont des entoers indiquant le nombre de jour ecoulé depuis une date de reference choisi par le sgbd

    Il suffit donc de faire une soustraction entre deux dates et d'ajouter 1 pour avoir le nombre de jour

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    With [Query] do
    begin
      Close;
      SQL.Clear;
      SQL.Add('Select * from [TATABLE]');
      SQL.Add('where DateP between (:PDebut and :PFin)');
      ParamCheck := True;
      [Params/Parameters/etc].ParamByName('PDebut').Value := Now;
      [Params/Parameters/etc].ParamByName('PFin').Value := Now + 10;
      Open;
    end;
    Ca permet de récupérer la liste pour les dates entre aujourd'hui et aujourd'hui + 10 jours.

    Code à tester ou a modifier selon le type de données à devoir envoyer en SQL au niveau de paradox (surtout pour les dates)
    Enfin si c'est ce que tu veux récupérer.

    si between fonctionne pas ecrire à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      SQL.Add('where DateP >= :PDebut');
      SQL.Add('and DateP <= :PFin');
    PS: entre [] c'est selon le type de composants que tu utilises ou des données à modifier
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre confirmé Avatar de smail21
    Profil pro
    Inscrit en
    Février 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2005
    Messages : 152
    Par défaut
    c'est bon j'ai trouvé la solution:
    voici la requete (contenu du Tquery nommé Qexp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Pbrecept.Num_br As Num_Bon, Pbrecept.Code_pro As Code_produit, Article.Design As Désignation, Article.Um AS Unité_Mesure,Pbrecept.Qt As Quantité, Pbrecept.Exp As Date_péremption
    FROM "pbrecept.DB" Pbrecept, "article.DB" Article
    WHERE ( Article.Code_pro = Pbrecept.Code_pro) and ( Pbrecept."Exp">=:PDebut) and  (Pbrecept."Exp"<=:PFin)
    et le code du bouton qui affecte les valeurs de séection aux paramètre de cette requette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      Qexp.Active:=False;
      Qexp.Params[0].Asdatetime :=now;
      Qexp.Params[1].Asdatetime :=now+10;
      Qexp.Active:=True;
    Qexp est le Tquery utilisé!

    Merci Malatar pour ton aide précieuse et aux autres aussi

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

Discussions similaires

  1. Vérification des dates
    Par redoran dans le forum Bases de données
    Réponses: 11
    Dernier message: 20/10/2010, 08h44
  2. Manipuler des dates...
    Par Ti Jen-tsie dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2003, 11h46
  3. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01
  4. Réponses: 3
    Dernier message: 19/03/2003, 15h19
  5. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 22h43

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