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 :

Zone répétée dans un état [WD16]


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut Zone répétée dans un état
    Bonsoir,

    Je cherche à créer un état avec des zones répétées mais çà n'a pas l'air d'être possible, connaissez-vous une alternative pour avoir un affichage du style de zone répétée ?

    Merci

  2. #2
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Une zone répétée est à considérer comme un enregistrement normal, rien de plus. Il faut parcourir dans l'état l'ensemble des enreg qui constituent la zone répétée.

  3. #3
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Ok ... mais comment ? Peux-tu m'expliquer un peu plus en détails la marche à suivre stp ?

  4. #4
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    J'espère que tu as déjà fais un état basé sur une source de données de type fichiers (condition obligatoire)
    Dans le corps de l'état, tu l'étires et tu mets tous tes champs de la zone répétée, ce n'est pas plus dur que cela...
    ou alors, j'ai raté qq chose qq part...

  5. #5
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 379
    Points : 4 496
    Points
    4 496
    Par défaut
    Bonjour

    J'appuie les propos de EDM-TAHITI, le bloc corps d'un état est équivalent à une zone répétée : tu peux l'agrandir en hauteur et y mettre tous les types de champs que tu souhaites (enfin ce qui est autorisé dans un état)

    Ce bloc sera ensuite "répété" autant de fois qu'il y aura d'éléments (car il ne s'agit pas forcément d'enregistrements de fichier, ex : ligne de table, indice de tableau, ...) dans ta source

  6. #6
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'essai de copier coller les champs d'une de mes zone répétée dans l’état mais çà ne fonctionne pas...

    Sinon voici ce que je souhaite avoir dans mon état (fichier joint)

    Merci

  7. #7
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Ben là, on est très loin de ce que je croyais (comme quoi).
    En fait, tu veux imprimer un planning, il faut donc reconsidérer l'etat comme un tableau croisé (ca se complique si tu n'as jamais fait d'états simples).
    En effet, tu as en entete des dates, et pour chaque colonne 'date', des enregistrements qui doivent être positionnés en fonction de l'heure de début et finir à l'heure de fin (évidence, quand tu nous tient).
    Je suppose aussi que deux pistes sont à explorer:
    - le planning semaine
    - le planning de date à date
    Par expérience, il faut partir de suite sur le planning de date à date, puisque le planning hebdomadaire pourra alors être créée (dans le cas inverse, pas facile) à partir de 'datesdébut' et 'datefin' passées à l'état.
    Dans Windev, il est possible de créer des tableaux croisés mais il faut se rapprocher de toutes les fonctions 'PLANNING'.
    Mais je redis ce que j'ai déjà dis, si tu n'as jamais fait d'état avec Windev, il serait bon que tu commences par un état simple, rien que pour voir le comportement entre code et résultat visuel.

  8. #8
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Si j'ai déjà fais des états simples comme par exemple lister tous les enregistrements d'un fichier.

    Alors date à date tu veux dire créer un état par 'date' ? et après récoler tout dans un état final ?

  9. #9
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Bon, c'est déjà bien car tu sais utiliser une source de données (quelconques) et faire la mise en page.
    je vois que tu es sous WD16, ce qui va faciliter mes explications.
    Pour ce qui est de la suite, confirmes-moi que tu a créé un champs planning pour réaliser ta miniature (ou dans ton projet)...
    A te lire

  10. #10
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Le souci c'est que non, c'est des zone répétées pas un champ planning...

  11. #11
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    ok, et alors? les enregistrements sont bien identifiés par une date (ou un ID) et une heure (ou un ID), non?
    Donc, par voie de conséquence, nous nous trouvons bien dans un tableau croisé.
    Il faut donc 'croiser' les données afin de les imprimer...

  12. #12
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Voici la structure de mon fichier planning (fichier joint).

    Et le truc c'est que j'ai regarder état tableau croisé mais on peut seulement choisir des fichiers et non des requêtes car chaque zone répétée est alimenté par une requête, ça pose problème ?

    merci

  13. #13
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Les requêtes ne sont qu'une autre forme d'interrogation pour les fichiers. Il ne faut pas avoir de restriction mentale sur les termes, et regarder le fond de la problèmatique.
    Que ce soit un fichier lu avec une clé en direct, HFCS, ou par filtre, ou par requete, le fond est bien l'interrogation de la table pour en extraire des données, non?
    Donc, ce que tu as fais avec une requete, tu peux aussi le faire avec n'importe quelle autre mode d'extraction.

    Un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Hfiltre(MonPlanning, DatePlanning, DateDebut, DateFin ,"idanimateur = '"+MonIdAnimateur+"'")
    est equivalent à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select * from MonPlanning where (DatePlanning between +'"+DateDebut'" AND '"+DateFin'") AND idanimateur = '"+MonIdAnimateur+"'")
    Ce que j'essaie de te faire comprendre, ne butes pas sur des termes et sur la forme, regarde le fond (ce qui est la base de toute bonne analyse fonctionnelle).

    Donc, Au travers de ce que je viens d'écrire, regarde ta requete et découpe là.
    Au pire, si j'en juge par la structure que tu m'as fais parvenir, et si le fichier n'est pas croisé, il suffirait alors de créer un fichier DatePlanning qui reprendrait les dates et cela te permettrait en autre de faire des jointures SQl de type outer join ou inner join (savoir si pour un jour, y'a des programmes ou pas, par exemple).

    Si ce fichier n'existe pas, créé le et tu peux l'alimenter au travers de l'extraction de type

    si marequete..datePlanning pas dans DatePlanning.dateplanning alors ajoute dateplanning (par exemple).

    En conclusion, pour faire un tableau croisé, il te faut deux sources, ce que je te propose afin de te permettre d'imprimer ce que tu veux et comme tu veux.

  14. #14
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Je comprend bien le fond de tes explications mais je ne vois pas bien comment mettre çà en place :s

  15. #15
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Je viens de tester un tableau croisé sur un seul fichier, je confirme que ca part en cacahuète (erreur de doublons sur les heures) donc inexploitable (sauf si d'autres ames sensibles me donnent la solution - lol).

    Si tu as compris le fond, la forme n'est pas compliquée... enfin, je crois.

    As-tu déjà essayé de faire un tableau croisé dans un état à partir de ton fichier planning?

  16. #16
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Non j'ai pas essayé mais j'ai tenter un tableau normal comme ceci :

    Donc çà a l'air pas trop mal et donc est-ce que tu croit que ce soit possible de "coller" plusieurs état pour les mettre dans un seul sur une seule page ?

    Merci

  17. #17
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    oui, c'est possible de mettre plusieurs etat sur la même page, c'est le tableau croisé (lol).

    Essayes au moins de faire un tableau croisé avec tes données et tu verras (sauf erreur de ma part), que les doublons (même éliminés) posent soucis au niveau des heures.

    Creuses un peu ce sujet de tableaux croisés, ca vaut le coup de pouvoir maitriser cela.

    Les applications sont nombreuses et dans des domaines différents.

  18. #18
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    D'acccord ! Je vais tenter

    Merci !

  19. #19
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Mouais... çà bug pour le tableau croisé. Sinon j'ai essayer les état composite mais doit avoir un souci car Windev plante lorsque je veut choisir un sous état :s

    De plus je pense que ça s'ajoute l'un derrière les autres et non les uns à coté des autres ... donc pas intéressant dans mon cas.

  20. #20
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    C'est pour cela que je t'ai proposé une source de données supplémentaires, à savoir les date qui alimenteraient un fichier.
    Ainsi, deux sources de données peuvent se croiser
    Ton fichier de date serait ainsi:

    dateplanning
    IDDatePlanning est un identifiant unique
    DATE est une date clé unique

    A chaque fois que tu saisis dans ton planning, tu reagrde si al date existe, et tu la créées dans la négative.

    Ensuite, tu peux faire ton tableau croisé à partir de deux fichiers, palnning et date

    Je pense que c'est la meilleure solution pour toi.

    Je vais tester cela car j'avoue que je ne me suis jamais penché sur l'impression des plannings (comme quoi).

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WM17] "Zone répétée" dans une "Zone répétée" WM 17
    Par medhan dans le forum Windev Mobile
    Réponses: 2
    Dernier message: 01/07/2015, 17h49
  2. [AC-2007] Activer MFC zone texte dans un état
    Par aspap dans le forum IHM
    Réponses: 4
    Dernier message: 01/03/2013, 17h09
  3. [WD16] Zone répétée dans une zone répétée.. possible ?
    Par EriCstoFF dans le forum WinDev
    Réponses: 2
    Dernier message: 05/03/2012, 14h14
  4. Faire pivoter une zone de texte dans un état
    Par YLL dans le forum Access
    Réponses: 3
    Dernier message: 20/02/2006, 20h05
  5. transferer zone de liste dans un état
    Par ancylia dans le forum Access
    Réponses: 4
    Dernier message: 21/10/2005, 12h29

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