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
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
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.
Ok ... mais comment ? Peux-tu m'expliquer un peu plus en détails la marche à suivre stp ?
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...
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
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
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.
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 ?
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
Le souci c'est que non, c'est des zone répétées pas un champ planning...
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...
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
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
est equivalent à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Hfiltre(MonPlanning, DatePlanning, DateDebut, DateFin ,"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).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Select * from MonPlanning where (DatePlanning between +'"+DateDebut'" AND '"+DateFin'") AND idanimateur = '"+MonIdAnimateur+"'")
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.
Je comprend bien le fond de tes explications mais je ne vois pas bien comment mettre çà en place :s
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?
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
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.
D'acccord ! Je vais tenter
Merci !
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.
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).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager