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

Macros et VBA Excel Discussion :

[VBA EXCEL / ACCESS] : Resultat d'une requete


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut [VBA EXCEL / ACCESS] : Resultat d'une requete
    Bonjour,

    Voila je voudrai savoir comment recuperer le resultat d'une requête, je m'explique :

    Je veux recuperer le nombre d'enregistrement présent dans une table donc j'utilise la requete "SELECT COUNT (*) FROM ...."

    J'aimerai savoir juste comment appeler le resultat de cette requete car j'aimerai éviter de faire un MoveNext et d'ajouter "1" au compteur pour savoir combien je possède d'enregistrements.

    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 29
    Par défaut
    La fonction .RecordCount te renvoies directement le nombre d'enregistrements de ton recordset.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Dim recst as Recordset
    ...
    recst.MoveLast
    MsgBox recst.RecordCount
    recst.Close

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    Merci mais ca ne fonctionne pas...
    apparament il n'aime pas trop le movelast il m'affiche un msg d'erreur qui dit : "l'ensemble de ligne ne prend pas en charge les recupérations arrieres"

    j'affiche mon code pour plus de comprehesion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim Rec_Recap_Mois As New ADODB.Recordset
    Dim Rec_Compte_Ijs As New ADODB.Recordset
    Dim Requete_Recap_Mois, Requete_Compte_Ijs As String
    Dim Mois, Nb_Ijs As Integer
    Mois = InputBox("Entrez le mois en chiffre (ex : février = 02)")
    Requete_Recap_Mois = "SELECT * FROM IJS WHERE IJS.Mois_Ij=" & Mois
    Requete_Compte_Ijs = "SELECT * FROM IJS Where IJS.Mois_Ij=" & Mois
    Module1.ConnexionBdd
    Rec_Recap_Mois.Open Requete_Recap_Mois, Module1.BdAccess
    Rec_Compte_Ijs.Open Requete_Compte_Ijs, Module1.BdAccess
    Rec_Compte_Ijs.MoveLast
    Nb_Ijs = Rec_Compte_Ijs.RecordCount
    Rec_Compte_Ijs.Close

  4. #4
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 29
    Par défaut
    T'as essayé sans le movelast.
    En fait,le recordcount te renvoie directement le nombre d'enregistrements. Le il faut refaire un Movefirst avant.

    Donc Solution 1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .MoveLast
    .MoveFirst 
    .RecordCount
    Solution 2 :

    .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RecordCount ' Sa devrait fonctionner directement.Sans Movelast & Movefirst

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    Ben en fait ce qu'il se passe sans le movelast il me renvoi la valeut -1 alors qu'il devrai me trouver 2 enregistrements...

  6. #6
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Hello!
    Je ne comprend pas...
    Si tu envoies la requête "... COUNT(*)...", ton recordset ne contient qu'une ligne: celle qui contient le nombre de ligne de ta table.
    Donc pas besoin de faire des Move.
    MonRst(0) te donne directement le nombre que tu cherches, non?

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

Discussions similaires

  1. VBA, SQL, Access: Creer/Enregistrer une Requete
    Par Lameth dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/02/2011, 20h07
  2. [VBA-E]Ecrire et lancer une requete sur Access
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2006, 14h32
  3. insérer resultat d'une requete dans un champs access
    Par valaidnew dans le forum Access
    Réponses: 2
    Dernier message: 02/03/2006, 14h47
  4. VBA recupération d'un resultat d'une requete
    Par chetflo dans le forum Access
    Réponses: 1
    Dernier message: 08/12/2005, 11h50
  5. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52

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