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 :

Affichage de données


Sujet :

WinDev

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Affichage de données
    J'ai un souci avec une requête. Au fait j'ai une table qui contient plus de 13 000 enregistrements donc quand j’essaie d'afficher les informations via une requête que j'ai conçue sous l'éditeur les données mettent au moins 3 minutes pour s'afficher. N'as tu pas une méthode pour permettre un affichage un peu plus rapide vu que les enregistrements vont augmenter avec le temps et pour l'instant je ne fais que les tests sur mon poste.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour aussi,

    pour répondre à ce genre de question, il faudrait savoir comment est structurée la table (index, champs, etc ...) et surtout comment est faite la requête !

    à bientôt,

    Nicolas

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    La requête se fait sur une seule table à partir de l’éditeur de création des requêtes. C'est une requête paramétrée.
    J'ai pu récupérer le code SQL de la requête
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    SELECT 
    	FACTURE_PROFORMA.IDFACTURE_PROFORMA AS IDFACTURE_PROFORMA,	
    	FACTURE_PROFORMA.Type_Facture AS Type_Facture,	
    	FACTURE_PROFORMA.Type_Vehicule AS Type_Vehicule,	
    	FACTURE_PROFORMA.Numero_Facture AS Numero_Facture,	
    	FACTURE_PROFORMA.Date_Facture AS Date_Facture,	
    	FACTURE_PROFORMA.CLIENT AS CLIENT,	
    	FACTURE_PROFORMA.COMMERCIAL AS COMMERCIAL,	
    	FACTURE_PROFORMA.MARQUE AS MARQUE,	
    	FACTURE_PROFORMA.MODELE AS MODELE,	
    	FACTURE_PROFORMA.Puissance_Fiscale AS Puissance_Fiscale,	
    	FACTURE_PROFORMA.Equipement AS Equipement,	
    	FACTURE_PROFORMA.Airsi AS Airsi,	
    	FACTURE_PROFORMA.Taux_Airsi AS Taux_Airsi,	
    	FACTURE_PROFORMA.Quantite AS Quantite,	
    	FACTURE_PROFORMA.Prix_Unitaire AS Prix_Unitaire,	
    	FACTURE_PROFORMA.Remise AS Remise,	
    	FACTURE_PROFORMA.Montant_Remise AS Montant_Remise,	
    	FACTURE_PROFORMA.Prix_Net AS Prix_Net,	
    	FACTURE_PROFORMA.Frais_Immat AS Frais_Immat,	
    	FACTURE_PROFORMA.Prix_Total_HTVA AS Prix_Total_HTVA,	
    	FACTURE_PROFORMA.TVA AS TVA,	
    	FACTURE_PROFORMA.Montant_TVA AS Montant_TVA,	
    	FACTURE_PROFORMA.Prix_Total_TVA AS Prix_Total_TVA,	
    	FACTURE_PROFORMA.Vignette AS Vignette,	
    	FACTURE_PROFORMA.Frais_WW AS Frais_WW,	
    	FACTURE_PROFORMA.Montant_Airsi AS Montant_Airsi,	
    	FACTURE_PROFORMA.Prix_Total_TTC AS Prix_Total_TTC,	
    	FACTURE_PROFORMA.Note AS Note,	
    	LEFT(FACTURE_PROFORMA.Date_Facture,6) AS Mois,	
    	LEFT(FACTURE_PROFORMA.Date_Facture,4) AS Annee,	
    	FACTURE_PROFORMA.Annule AS Annule,	
    	FACTURE_PROFORMA.Enregistre_Par AS Enregistre_Par,	
    	FACTURE_PROFORMA.Modifie_Par AS Modifie_Par,	
    	FACTURE_PROFORMA.Annule_Par AS Annule_Par
    FROM 
    	FACTURE_PROFORMA
    WHERE 
    	FACTURE_PROFORMA.Numero_Facture = {parametre_numero_facture}
    	AND	LEFT(FACTURE_PROFORMA.Date_Facture,6) = {parametre_mois}
    	AND	LEFT(FACTURE_PROFORMA.Date_Facture,4) = {parametre_annee}
    	AND	FACTURE_PROFORMA.Annule = {parametre_annule}
    ORDER BY 
    	Numero_Facture DESC

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 31
    Points : 64
    Points
    64
    Par défaut
    Bonjour,

    Citation Envoyé par PhilFam Voir le message
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AND LEFT(FACTURE_PROFORMA.Date_Facture,6) = {parametre_mois}
    AND LEFT(FACTURE_PROFORMA.Date_Facture,4) = {parametre_annee}
    A priori si ton parametre_mois est du style "201409" la seconde ligne sur l'année ne sert à rien.
    Ensuite pour améliorer tes performances, il faudrait savoir ce que tu as comme index sur ta table, dans l'idéal il faudrait des clefs sur les trois rubriques du fichier utilisées dans le WHERE.

    Cordialement,

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Le parametre_mois est pour afficher la liste des pro formas du mois sélectionné et le parametre_annee pour afficher la liste des pro formas de l'année saisie.
    Pour les clés j'en ai deux : une clé pour l'identifiant et une autre pour le numéro de facture.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Il faut en premier savoir ce qui prends du temps: le lancement de la requête, la récupération des données... Voir ce que donne l'analyseur de performance.
    Est-ce une table fichier ou un table mémoire ?
    Comment est lancée la requête ?
    Quelle base de données (HF, HF/CS, ODBC...) ?

    Concernant les indexes, comme une fonction est appliquée sur la date, un index n'est pas utilisable. Il vaudrait mieux utiliser un BETWEEN (pour les factures de Septembre 2014, prendre celles dont la date est entre le 01/09 et le 30/09).

    Tatayo.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    - C'est l'affichage des données qui prend du temps.

    - Table fichier (j'ai coché l'option fichier/requête

    - Pour afficher par exemple la liste des pro formas du mois de septembre, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            REQ_FACTURE_PROFORMA.parametre_mois=sDateanneemois
    	HExécuteRequête(REQ_FACTURE_PROFORMA)
            Tableaffiche(TABLE_REQ_FACTURE_PROFORMA)
    sDateanneemois est une variable qui contient par exemple : 201409

    - La base de données est HF/CS

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 31
    Points : 64
    Points
    64
    Par défaut
    Si c'est uniquement un problème d'affichage, tu peux essayer de désactiver l'affichage de ta table le temps de la remplir. De mémoire ça doit être quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TABLE_REQ_FACTURE_PROFORMA..affichageactif = Faux
    REQ_FACTURE_PROFORMA.parametre_mois=sDateanneemois
    HExécuteRequête(REQ_FACTURE_PROFORMA)
    Tableaffiche(TABLE_REQ_FACTURE_PROFORMA)
    TABLE_REQ_FACTURE_PROFORMA..affichageactif = Vrai
    Cordialement,

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Juste pour clarifier: ton fichier contient 13000 lignes, ou tu veux afficher 13000 lignes de ton fichier ?

    Tatayo.

  10. #10
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour Tatayo,
    J'ai essayé avec le BETWEEN et il affiche un peu plus rapidement je continue les tests pour voir.
    Il contient déjà 13 000 lignes.

    Merci.

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    3 minutes pour lire un fichier de 13000 lignes, même sans indexes, ce n'est pas normal.
    C'est du HF classique ou client/serveur ?
    Où se trouvent les fichiers (en local, sur le réseau) ?

    Tatayo.

  12. #12
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    C'est du HF Client/Serveur.
    Pour le moment les fichiers sont sur ma machine(en local)

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 31
    Points : 64
    Points
    64
    Par défaut
    Je suis d'accord avec Tatayo, ca me parait énorme 3 minutes pour une si petite table. Tu as rajouté une clé sur la date facture ?

    Cordialement,

  14. #14
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Oui j'ai rajouté une clé sur la date facture.

  15. #15
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Bonjour,

    Aurais tu du code sur le traitement "Affichage d'une ligne" de la table?

  16. #16
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    J'ai mis du code dans "Sélection d'une ligne de la table".

Discussions similaires

  1. Affichage de données en OpenGL
    Par bennnun dans le forum OpenGL
    Réponses: 6
    Dernier message: 10/05/2005, 02h34
  2. TDBCtrlGrid - Affichage des données
    Par audreyb dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/10/2004, 13h10
  3. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07
  4. Affichage de données (histograme, graphe etc.)
    Par sunshine33 dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 13/01/2004, 14h16
  5. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19

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