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

WinDev Discussion :

Aide pour calculer nombre d'enregistrements d'une requête


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 19
    Points
    19
    Par défaut Aide pour calculer nombre d'enregistrements d'une requête
    Bonjour
    ma question est la suivante:
    j ai une fenêtre qui contient des champs de saisi à-peu-près 40 champs tous issues de 40 requêtes .Chaque champ contient le nombre d'enregistrement d'une requête selon le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SAI_SansNom=TABLE_REQ_1.COL_Comptage_1[ligneTotal]

    pour exécuter ce code il me faut 40 tables dans ma fenêtre; deja avec 10 tables l affichage de la fenêtre prend parfois 9s
    est ce qu on peut remplir ces champs pour compter le le nombre d'enregistrement de chaque requête sans créer des tables?

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 810
    Points : 5 269
    Points
    5 269
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    40 champs issus de 40 requêtes, il doit y avoir plus simple, mais bon ...

    Pour obtenir le nombre de tuples d'une requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    nNbTuple est entier
     
    HExécuteRequête(REQ_MaRequête)
    nNbTuple=HNbEnr(REQ_MaRequête
    Le cas échéant, tu peux passer par des requêtes "COUNT"
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Comme le dit Voroltinquo, il y a HNbEnr(NomDeLaRequete). Si le résultat de la requête ne t'intéresse pas, il vaut mieux faire un Count() ce sera beaucoup plus rapide.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 810
    Points : 5 269
    Points
    5 269
    Billets dans le blog
    1
    Par défaut
    Un exemple :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT 
    	'Nb Employés' AS Libellé, -- Utilisé dans l'UNION cf plus bas
    	COUNT(Employé.PK_Employé) AS Total 
    FROM 
    	Client
    GROUP BY 
    	'Nb Employés'
    Pour récupérer la valeur désirée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nNbEmployé est entier
     
    HExécuteRequête(REQ_NbEmployé)
    nNbEmployé=REQ_NbEmployé.Total
    Pour faciliter la lecture, tu peux même utiliser l'instruction "UNION" et regrouper le tout dans un champ Table

    REQ_Récapitulatif :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SELECT 
    	'Nb Employés' AS Libellé,
    	COUNT(Employé.PK_Employé) AS Total
    FROM 
    	Client
    GROUP BY 
    	'Nb Employés'
     
    UNION ALL
     
    SELECT 
    	COUNT(Intérimaire.PK_MatriculeIntérimaire) AS Total,	
    	'Nb Intérimaires' AS Libellé
    FROM 
    	Intérimaire
    GROUP BY 
    	'Nb Intérimaires'
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    merci à vous tous

Discussions similaires

  1. [AC-2003] Nombre d'enregistrements dans une requête
    Par AndréPe dans le forum VBA Access
    Réponses: 6
    Dernier message: 24/10/2011, 17h51
  2. Réponses: 4
    Dernier message: 24/11/2008, 09h43
  3. sélection d'un nombre d'enregistrements dans une requête
    Par dodie84 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 24/04/2008, 13h59
  4. nombre d'enregistrements d'une requête
    Par sajedose dans le forum Accès aux données
    Réponses: 4
    Dernier message: 22/08/2007, 11h55

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