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 :

Etat sur des données provenant d'un champs table hiérarchique


Sujet :

WinDev

  1. #1
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 213
    Points
    213
    Par défaut Etat sur des données provenant d'un champs table hiérarchique
    Bonjour,

    Je pense que tout est dans le titre, j'ai une fenetre avec un champs Table hiérarchique et ej voudrais créer mon état a partir des données stockées dans mon champs table hiérarchique.

    J'ai bien pensé a copier l'ensemble des données dans un champs table pour les récupérer mais cela risque de prendre du temps.
    Et je n'ai pas trop envie de reproduire mes requètes sql pour rappatrier mes données.

    Donc ma question est, ne voyant pas dans les tables de source de donnée de l'état, ma table hiérarchique, comment puis je faire pour récupérer ses données?

    Merci a vous de vos réponse
    Fabian M. - DBA Sql server 2008R2.
    Apprenti Admin Système 2008 R2
    Développeur SSRS, SQL
    Développement C# en hobby

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 576
    Points
    2 576
    Par défaut
    Si :

    - la table hiérarchique n'est pas une source de données possible pour l'état
    - vous ne voulez pas baser votre état sur la (les) requête(s) source(s) de la table hiérarchique
    - vous ne voulez pas passer par une table intermédiaire qui peut être source de l'état

    la réponse est simple > Impossible

    Il n'y pas de magiciens sur le forum à ma connaissance.

  3. #3
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 213
    Points
    213
    Par défaut
    snif que je regrette ma plate-forme .net

    En gros je ne peux aller rechercher mes données sur mon écran, il faut absolument passer par une table intermédiaire?

    Je vais faire les tests pour les 2 solutions que vous proposer en espérant que la table intermédiaire soit plus rapide que les requètes

    Merci de votre réponse si rapide en tout cas
    Fabian M. - DBA Sql server 2008R2.
    Apprenti Admin Système 2008 R2
    Développeur SSRS, SQL
    Développement C# en hobby

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 576
    Points
    2 576
    Par défaut
    Citation Envoyé par oadin Voir le message
    snif que je regrette ma plate-forme .net

    En gros je ne peux aller rechercher mes données sur mon écran, il faut absolument passer par une table intermédiaire?

    Je vais faire les tests pour les 2 solutions que vous proposer en espérant que la table intermédiaire soit plus rapide que les requètes

    Merci de votre réponse si rapide en tout cas
    Ce n'est pas ce que j'ai dit.

    Un état ne peut pas se baser directement sur une table hiérarchique comme vous l'avez remarqué. Cependant rien ne vous empêche de programmer la lecture des données de votre état.

    Voir dans l'aide quelque chose comme "lecture programmée d'un état".

    J'ai souvent fait des états qui se basaient sur un objet passé, un tableau ou un tableau d'objets en paramètre. La lecture des données de l'état se fait en parcourant tout ça et ne fait appel à aucune requête ou table définie comme source de données de l'état.

    Voyez ça un peu comme le remplissage d'un contrôle table par programmation.

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 576
    Points
    2 576
    Par défaut
    Code d'ouverture de mon état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE rptFacturePrev(poFacture est un cFacture dynamique)
     
    nLigne est un entier = 1
     
    <code qui initialise les données d'entête>
    Je prends un objet "facture" en paramètre qui contient des objets "ligne de facture".
    J'initialise ma variable de parcours.



    Code de lecture des données de l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RENVOYER  PAS (nLigne > Dimension(poFacture:tLigne))
    Exécuté à chaque itération du bloc corps, il doit renvoyer faux quand il n'y plus de données à écrire dans le bloc corps. Vrai s'il y a des données.

    Enfin sur le code du bloc corps "Avant impression du bloc corps"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    txtLigneDesignation = poFacture:tLigne[nLigne]:sDesignation
    txtLigneQuantite = poFacture:tLigne[nLigne]:mQuantite
    txtLignePrixUnitaire = poFacture:tLigne[nLigne]:mPrixUnitaire
    txtLigneTauxTVA = poFacture:tLigne[nLigne]:oTva:mTaux
    txtLigneUnite = poFacture:tLigne[nLigne]:sUnite
    txtLigneMontantHT = poFacture:tLigne[nLigne]:MontantHT()
     
    nLigne++
    Affectation des valeurs de la ligne en cours et passage à la ligne suivante.



    Dans ce cas j'ai programmé la lecture à partie d'un objet mais vous pourriez faire pareil avec des la lecture de fichier hyperfile (hlitpremier, hendehours, hlitsuivant) ou des fichiers textes. Les possibilités sont nombreuses.

Discussions similaires

  1. [WD17] Etat sur des champs remplis. Quelle stratégie ?
    Par EriCstoFF dans le forum WinDev
    Réponses: 4
    Dernier message: 27/12/2012, 15h45
  2. Réponses: 0
    Dernier message: 22/02/2012, 18h23
  3. [WD-2003] Insérer sur un signet des données issues d'un champ de formulaire
    Par mca61 dans le forum VBA Word
    Réponses: 2
    Dernier message: 01/03/2011, 13h29
  4. Réponses: 12
    Dernier message: 02/01/2006, 23h13
  5. Travailler sur des données qui doivent être triées
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 19/07/2003, 18h13

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