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

VBA Access Discussion :

compter les enregistrements après un filtre [AC-2019]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut compter les enregistrements après un filtre
    Bonjour à tous,

    Dans un form, je réalise un filtrer par formulaire, j'aimerais compter le nbre d'enregistrement afin de mettre un message s'il n'y a aucune données.

    J'ai une procédure Form_ApplyFilter et si je compte dans cette procédure, il y a erreur, sans doute parce que le tri n'est pas encore effectué

    J'ai essayé diverses méthodes, mais rien ne fonctionne

    Merci pour votre aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Citation Envoyé par electrosat03 Voir le message
    J'ai essayé diverses méthodes, mais rien ne fonctionne
    Voyons que dit ma boule de cristal ....
    Rien !
    Ah, j'oubliait, elle ne fonctionne que chez les charlatans.

    Trêve de plaisanteries, qu'as-tu essayé ?
    Des codes à nous montrer ?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut
    Salut,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RecordsetClone.RecordCount
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim rs As Object
        Set rs = Me.Recordset.Clone
    NbreEnregistrement = rs.Count

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Avec un recordset, il faut avoir navigué jusqu'a la fin au préalable.
    Faute de quoi, la propriéte RecordCount ne donne que le nombre d'enregistrements qui ont été chargés.

    Sinon, tu peux toujours exploiter la fonction d'aggrégation COUNT() dans une requête (selon les cas, ça peut être plus rapide).

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut
    Salut,

    Merci c OK

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 959
    Par défaut
    bonjour,
    j'aimerais compter le nbre d'enregistrement afin de mettre un message s'il n'y a aucune données.
    dit comme cela, cette phrase me semble bizarre (peut être parce que l'utilisation de afin n'est pas appropriée)
    J'aurai plutôt écrit: "si il y a des enregistrements, j'aimerai en afficher le nombre, sinon afficher un message si il n'y a aucune donnée".
    Si le filtre est appliqué sur clic d'un bouton, voici une solution en partant du code donné par electrosat03 et la correction de deedolith:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim ors As DAO.Recordset
     
    Set ors = Me.RecordsetClone
    If ors.RecordCount > 0 Then
        ors.MoveFirst
        ors.Movelast  ' on se positionne au dernier enregistrement pour mettre à jour le RecordCount
        Me.NbreEnregistrements =  ors.RecordCount   ' NbreEnregistrements est (à priori)  un contrôle du formulaire
    Else
        Me.NbreEnregistrements = 0    
        Msgbox  "La recherche n'a trouvé aucune donnée" 
    End If
     
    Set ors = Nothing

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut
    Merci, tout fonctionne

    Je mets en résolu

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/11/2012, 13h55
  2. Compter les enregistrements d'un sous-formulaire
    Par djamy dans le forum Access
    Réponses: 6
    Dernier message: 06/07/2006, 21h18
  3. Compter les enregistrements formulaire
    Par mat44_39 dans le forum IHM
    Réponses: 4
    Dernier message: 17/06/2005, 12h21
  4. Compter les enregistrements modifiés
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/10/2004, 14h12
  5. [VB.NET] Compter les enregistrements d'une requete
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/10/2004, 18h46

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