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 :

[Access] Calcul sur les dates


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut [Access] Calcul sur les dates
    bj a tous j'ai une app delphi BDD Access qui contient un cinq champ (hono, depense, totalH, TotalD, TotalG) j'ai fais des requete pour calculer les champs hono et Depense ça marche bien mais quand je voudrai savoir comment faire pour faire ce calcule en précisnat une date dans le DateTimePicker, ou bien de DAteTime Picker , genr (du...... au.......); et aussi pour filtrer les champs avec des date ?
    merci a tous

  2. #2
    rsc
    rsc est déconnecté
    Membre émérite
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Par défaut
    Dans ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE MADATE BETWEEN :DateDebut AND :DateFin
    et dans ton code, tu passes les valeurs aux paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ParamByName ('DateDebut') .AsDateTime := DateTimePickerDebut .Date;

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    Slt et merci pour ta réponse mais peux tu m'espliquer qq chose
    pk dois je mettre paramByName je ne stocker pas les dates dans la base de donnée, ou alors je n'ai rien pigé.
    merci encore

  4. #4
    rsc
    rsc est déconnecté
    Membre émérite
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Par défaut
    Je pensais que tu avais oublié de mentionner les champs Date de ta base. Mais si vraiment si tu ne stockes pas les dates dans la base, comment veux-tu filtrer sur les dates

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    désolé oui je stock la date d'insertion je viens d'essayer le code me renvoi un résultat 0 et quadn j'essayes le ParamByName il me dit non déclaré, alors stp si tu peux me donner plus de précision, voici le code
    pour l'insertion des données:
    DM.ACaisse.Insert;
    DM.ACaisse.FieldByName('dateJ').AsDateTime:=Date;
    DM.ACaisse.Post;

    et pour le calcule:
    with DM.ACaisse do
    begin
    Close;
    with SQL do
    begin
    Clear;
    Add('SELECT SUM(Hono) as TotalH, SUM(Depenses) as TotalD From Recette where DateJ BETWEENDebut AND Fin');
    Open;
    end;
    Edit3.Text:=FloatToStr(DM.ACaisse.FieldByName('TotalH').AsCurrency);
    Label7.Text:=FloatToStr(DM.ACaisse.FieldByName('TotalD').AsCurrency);
    Label8.Text:=FloatToStr(StrtoFloat(Edit3.Text)-StrToFloat(label7.Text));

    NB: si je n'utilise pas le filtrage de date il calcule bien
    alors si tu peux voir ce qui cloche dans ce code
    merci

  6. #6
    rsc
    rsc est déconnecté
    Membre émérite
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Par défaut
    Ca devrait marcher comme ça : il faut :
    1° Spécifier les paramètres dans ta requête.
    2° Leur passer une valeur avant l'exécution.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ....
    Add('SELECT SUM(Hono) as TotalH, SUM(Depenses) as TotalD From Recette where DateJ BETWEEN :DDebut AND :DFin');
    ParamByName ('DDebut') .AsDateTime := DtPickerDebut .Date;
    ParamByName ('DFin') .AsDateTime := DtPickerFin .Date;
    {DtPickerDebut et DtPickerFin étant les DateTimePicker où tu choisis tes dates de début et de fin}
    Open;

Discussions similaires

  1. calcul sur les dates
    Par housni dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2007, 16h38
  2. Oracle 10g - calcul sur les dates
    Par themateo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 17/08/2007, 10h50
  3. Calcul sur les dates
    Par Stargate SG1 dans le forum Access
    Réponses: 2
    Dernier message: 04/02/2007, 16h09
  4. [Dates] Calcul sur les dates...
    Par gawelldanor dans le forum Langage
    Réponses: 10
    Dernier message: 04/04/2006, 11h07
  5. [C#] Calcul sur les dates avec des DateTimePicker
    Par alizee971 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2005, 17h14

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