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 :

Afficher le nombre d'enregistrements d'une table suite à un filter


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2018
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 59
    Points : 30
    Points
    30
    Par défaut Afficher le nombre d'enregistrements d'une table suite à un filter
    bjr,
    Y a t il une fonction ou procedure en D7 (SGBD BDE) qui me renvoi le nmbre d'enregistrements trouvé dans une table suite à un filtre ?
    sans passer par un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    While not table.eof do
     
    begin
    code 
    code
    code
    .
    .
    end;
    car j'utilise un timer pour affiche en constance le nombre d'enregistrements trouvés suite à un filter...

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je ne sais pas si Table.RecordCount ne fonctionnerai pas ? à vérifier
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2018
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 59
    Points : 30
    Points
    30
    Par défaut
    Merci SergioMaster
    ça à fonctionné, mais par là une question me vient à la tete....
    est ce que cela ne risque pas de faire ralentir le fonctionnement de l'application (surtout si la base se rempli avec le temps! quoi que le filtre ne risque pas de dépassé les 30 enregistrements "filtré" sur un ensemble de records croissant dans une fréquence de 30 enregistrements par jours) vu que le timer questionne la table chaque seconde...???
    que me proposes tu ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Citation Envoyé par lotfi.lahcene Voir le message
    Merci SergioMaster
    ça à fonctionné, mais par là une question me vient à la tete....
    est ce que cela ne risque pas de faire ralentir le fonctionnement de l'application (surtout si la base se rempli avec le temps! quoi que le filtre ne risque pas de dépassé les 30 enregistrements "filtré" sur un ensemble de records croissant dans une fréquence de 30 enregistrements par jours) vu que le timer questionne la table chaque seconde...???
    que me proposes tu ?
    Un TTimer qui tourne à chaque seconde ?!! Quel intérêt?

    Tu peux faire simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Table1sAfterScroll(DataSet: TDataSet);
    begin
    
    label1.caption:=Format('%d enregistrements lus',[Table1.RecordCount]);
    
    end;
    Pas besoin de faire un Timer.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je n'avais pas vu cette histoire de timer ! Quelle idée étrange.

    Par contre, Nabil, je ne suis pas tout à fait sûr que l'évènement AfterScroll soit le meilleur choix: il se fait trop souvent !
    Le mettre juste après les actions de Filtre me paraît largement suffisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Filtered:=True;
    label1.caption:=Format('%d enregistrements lus',[Table1.RecordCount]);
     
    Filtered:=False;
    label1.caption:=Format('%d enregistrements lus',[Table1.RecordCount]);
    Mais, le mieux serait peut-être de le gérer avec l'évènement OnStateChange du DataSource associé (car je pense qu'il y en a un !)
    il y a un état dsFilter qui pourrait peut être faire l'affaire (à tester)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    je n'avais pas vu cette histoire de timer ! Quelle idée étrange.

    Par contre, Nabil, je ne suis pas tout à fait sûr que l'évènement AfterScroll soit le meilleur choix: il se fait trop souvent !
    Le mettre juste après les actions de Filtre me paraît largement suffisant

    Mais, le mieux serait peut-être de le gérer avec l'évènement OnStateChange du DataSource associé (car je pense qu'il y en a un !)
    il y a un état dsFilter qui pourrait peut être faire l'affaire (à tester)
    Bonsoir,

    Oui Serge, le "OnStateChange " serait le mieux. Oui, il y en a un

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2018
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2018
    Messages : 59
    Points : 30
    Points
    30
    Par défaut
    l'idée du timer m'est venu vu les circonstances...
    la table est filtré sur un champs appelé (Actif_s) Booleen et ce champ est appelé à changer lors du fonctionnement de l'application
    et dans le panel je doit affiché le nombre d'enregistrements actifs c a d (Actif_s=true) en temps réel...

Discussions similaires

  1. [SQL] Problème avec nombre d'enregistrements dans une table
    Par zana74 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/08/2006, 13h28
  2. [DB] Nombre d'enregistrements d'une table
    Par Mister Nono dans le forum Bases de données
    Réponses: 26
    Dernier message: 09/05/2006, 09h51
  3. [SQL] nombre d enregistrement d une table
    Par sharpeye dans le forum Access
    Réponses: 1
    Dernier message: 03/11/2005, 18h46
  4. Nombre d'enregistrement dans une table MySQL
    Par tom06440 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 21/10/2005, 19h07
  5. Réponses: 4
    Dernier message: 29/05/2004, 14h29

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