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 :

Réaffichage des champs SAI dans une Zone Répétée


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut Réaffichage des champs SAI dans une Zone Répétée
    Bonjour,

    Quand j'ajoute un nouvel objet dans ma fenetre principale, j'ai une fenêtre qui s'ouvre.

    Je rentre le nom du nouvel objet dans une SAI_nomobjet, puis dessous, je choisis dans une ZR_filtre (qui semble être une zone répétée linéaire) les filtres que je souhaite utiliser (remplissage par fichier (contient X filtres) donc X lignes, d'une source (Table_filtre), rubrique mémorisée IDFiltre, Parcours automatique (IDFiltre)).

    La ZR fonctionne super et sur chaque ligne de ma ZR, en plus du premier champ qui affiche l'élément, j'ai 3 autres SAI qui sont des numériques.
    Lorsque je valide mon objet, les données sont parfaitement enregistrées dans ma fenetre principale.

    SAUF QUE, quand je souhaite modifier un objet qui a déjà été enregistré, toutes les lignes de ma ZR ne sont plus sélectionnées et les champs sont vides.

    J'aimerais savoir comment faire pour mémoriser pour chaque objet les lignes sélectionnées et les nombres des SAI.


    J'ai lié les SAI à des champs (qui font partie de la table filtre), mais à chaque fois que je modifie un objet, j'ai dans les champs les valeurs du dernier objet que j'ai rentré et pas celles afférentes à mon objet.

    J'ai l'impression que pour chaque nouvel objet, en invisible, pour chaque ligne sélectionnée de ma ZR le logiciel doit créer une table (ou autre chose) qui conservera les données pour ensuite pouvoir aller s'indexer dessus en fonction de l'objet modifié et les ré-afficher à bon escient. Mais ça je ne sais pas faire.

  2. #2
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    En creusant un peu certains exemples fournis, j'ai l'impression que mon soucis vient des éléments qui constituent mes tables.
    En effet, seul l'idobjet possède une clé simple.
    Dans aucune de mes tables je n'ai d'autre clé ou clé double.

  3. #3
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Je n'arrive pas à stocker correctement les valeurs des SAI dans ma ZR ci-dessous, sachant qu'elle se remplit avec les éléments R V B Ha... je saisis chaque filtre qui m intéresse et je rempli les 2 premiers champs : temps de pose et nombre de poses, le dernier champ sur la ligne se calcule tout seul.

    J'aimerais que pour chaque ligne de ma ZR que j'ai sélectionné, je puisse conserver les nombres et ce en fonction du nom en haut à gauche ou via un autre moyen. Ceci de façon à ce que quand je reviens sur cette fen^tre les champs soient déjà préremplis et les lignes déjà sélectionnées.

    Dois-je déclarer les sai comme des tableaux, étant des clés uniques ou avec doublon ou autre ? merci


  4. #4
    Membre régulier Avatar de Kaal
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 55
    Points : 95
    Points
    95
    Par défaut
    Bonjour,
    Je pense qu'un tableau serait le plus judicieux. Un tableau de structure serait adapté à votre problème.
    Le mieux, serait que le tableau soit la source et que la zone répétée soit utilisé uniquement en affichage.

    Vous auriez une tableau contenant toutes données, les données filtrées et/ou les données sélectionnées.
    La manipulation d'un tableau est plus simple qu'une ZR.
    Quelle est la différence entre un bon et un mauvais développeur ?

  5. #5
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Ok pour un tableau. Faut-il comprendre une table ou un tableau ?

    Un tableau peut-il se construire comme une ZR ? En fait, j'ai utilisé une ZR car au départ et pour la suite, on ne sait pas quels seront les constituants de la première case de chaque ligne (ici "R V B et autres" dans l'exemple).

    Mais ma ZR s'inspire d'une table... à réfléchir. Mais je voudrais saisir le contenu des cases et pas avoir un affichage des valeurs. Je veux remplir un tableau.

    C'est l'inverse que je veux en fait, c'est à partir des filtres qui sont entrés dans une table précédemment, constituer la ZR ou un tableau et pouvoir renseigner les valeurs. Qu'elles soient stockées dans un tableau mais là je bloque.

  6. #6
    Membre régulier Avatar de Kaal
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 55
    Points : 95
    Points
    95
    Par défaut
    Je parle bien d'un tableau (une variable), on peut le constituer de ce qu'on veut (chaines, entier, booléen, structures..) et le dimensionner comme on veut (1,2,n dimension).
    Manipulation du tableau : voir l'aide pcsoft des fonctions "Tableau" (TableauAjoute(), TableauSupprime(),...

    Donc la ZR servirai de saisie.

    Je verrais un truc du genre :

    Déclaration de la structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Couche est une structure
        Code est une chaine
        PoseUnitTemp est un entier
        PoseNb est un entier
        PoseFiltreTemp est un entier
    FIN
    // Déclaration du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MesPoses est un tableau de 0 Couche
    // Ajout dans le tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableauAjoute(MesPoses, ZR[1].SAI_Code, ZR[1].SAI_PoseUnitTemp, ZR[1].SAI_PoseNb, ZR[1].SAI_PoseFiltreTemp)
    // Lire le tableau
    Je vous donne le début mais je pense que cela devrait bien vous aider
    Quelle est la différence entre un bon et un mauvais développeur ?

  7. #7
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Ah bhen c'est marrant, mes recherches avaient abouti à ça.
    http://doc.pcsoft.fr/fr-FR/?1514008

  8. #8
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Ok pour les indications, mais j'ai un peu de mal en tant que débutant.

    La déclaration du tableau doit-elle se faire dans la fenêtre que j'ai présenté où bien dans la fenêtre principale qui y donne accès ? et faut-il l'ajouter dans initialisation ?
    La ligne TableauAjoute semble ne pas fonctionner: "aucune syntaxe de TableauAjoute ne correspond".

    Autre question : le tableau doit-il être un vrai tableau (caché dans la fene^tre) où va-t-il être créé en mémoire (dans le registre par exemple) ?

  9. #9
    Membre régulier Avatar de Kaal
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 55
    Points : 95
    Points
    95
    Par défaut
    Bonjour,
    En windev, le "Tableau" est une variable et une "Table" est un champ.
    Il faut déclarer le tableau dans la fenêtre présentée (j'imagine car je ne connais pas votre projet).

    Le TableauAjoute() ou TableauAjouteLigne() doit correspondre à la structure.

    Sinon, vous pouvez faire un tableau de chaine (au lieu de faire un tableau de structure), ce sera plus simple.
    Quelle est la différence entre un bon et un mauvais développeur ?

  10. #10
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Quel serait alors le meilleur compromis alors, sachant que la fenetre que j'ai présentée et renseignée pour chaque objet que je veux ajouter à ma fenêtre principale.
    Peut-être que je devrais utiliser la fonction "ZoneRépétéeEnregistre"

    Voici mon logiciel actuel en lien à télécharger ici.

    La question est que quand je modifie un objet déjà existant plus rien n'est sélectionné. Du coup, tous les champs sont vides. J'aimerais en définitive que lorsque j'ajoute un objet et que je souhaite le modifier, tout ce qui a été renseigné précédemment réapparaisse. C'est pour ça que je cherche une solution de la sorte, histoire de pouvoir mémoriser les infos.

  11. #11
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Re,

    J'ai réalisé que la ZR n'est pas forcément la bonne réponse à ma solution car il est indéniable qu'un filtre peut être utilisé plusieurs fois alors que la ZR ne le permet pas.

    J'ai alors pensé à une autre solution : la Table avec une liaison.
    Du coup, j'ai une table qui comporte les mêmes colonnes que ma ZR pour le remplissage et chaque ligne permet de renseigner librement les précédentes SAI.

    Voici ce que ça donne :

    Ma précédente ZR que j'avais pour chaque cas bin1 bin2 et bin3 : Nom : ZR_avant.jpg
Affichages : 1640
Taille : 109,9 Ko


    Et ma TABLE actuelle unique qui permet de choisir le filtre et le bin avec des combo : Nom : TABLE_après.jpg
Affichages : 1452
Taille : 96,1 Ko


    Mon problème maintenant, c'est que je n'arrive pas à avoir une table vide pour chaque ouverture de ma fenêtre.
    J'ai créé une liaison dans mon analyse mais à chaque ouverture, je me retrouve avec ma table déjà remplie et avec les mêmes valeurs que celles du 1er objet renseigné, j'avais pourtant précisé que les champs sont des clés avec doublon.. Si je supprime les données et que j'en enregistre d'autres, elles remplacement les existantes.

    Mais j'ai l'impression qu'à l'ouverture de ma fenêtre que l'id n'est pas incrémenté.

  12. #12
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    J'ai créé une requête pour que ma table soit préremplie dans le cas d'une modification. Mais du coup, ma table est maintenant vide et je ne peux pas ajouter des lignes à ma table. J'ai l'impression que ma requête me bloque.

    Voici la requête et l'analyse :
    Nom : requete.jpg
Affichages : 1146
Taille : 50,4 Ko

    Nom : analyse.jpg
Affichages : 1205
Taille : 180,4 Ko

    Voici le code de mon projet dans la partie INITIALISATION du projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    HCréation(session)
    POUR TOUT AstroImagesLibrary 
    	HRAZ(session)
    	session.IDAstroImagesLibrary=AstroImagesLibrary.IDAstroImagesLibrary
    	//session.date_de_la_session=AstroImagesLibrary.IDAstroImagesLibrary
    	HAjoute(session)
    FIN

    Voici le code de la fenêtre qui s'ouvre lorsque j'ajoute un nouveau Astroimagelibrary, ce code est dans la section DECLARATIONS GLOBALES DE FEN_FICHE_ASTROIMAGESLIBRARY :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    PROCEDURE FEN_Fiche_AstroImagesLibrary(gnIDAstroImagesLibrary = 0)
    SI gnIDAstroImagesLibrary <> 0 ALORS
    	HLitRecherche(AstroImagesLibrary,IDAstroImagesLibrary,gnIDAstroImagesLibrary, hIdentique)
     
    	FichierVersEcran(MaFenêtre,AstroImagesLibrary)
     
    	//filtre pour la table des sessions
    	HFiltre(session,IDAstroImagesLibrary,AstroImagesLibrary.IDAstroImagesLibrary)
    	RAZ()
    	HRAZ(session)
     
    FIN
    et enfin le code placé dans la section FERMETURE DE FEN_FICHE_ASTROIMAGESLIBRARY :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HDésactiveFiltre(session)

Discussions similaires

  1. [WM19] Champ HTML dans une zone répétée
    Par gabrielpf dans le forum Windev Mobile
    Réponses: 7
    Dernier message: 19/12/2014, 15h42
  2. [WD15] Champs Graphe dans une Zone Répétée
    Par Grmmml dans le forum WinDev
    Réponses: 4
    Dernier message: 15/04/2010, 10h12
  3. Insérer des champs vides dans une requête sql
    Par js8bleu dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/02/2008, 15h00
  4. Affichage des valeurs disponibles dans une zone de liste déroulante
    Par azerty dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/06/2007, 12h29
  5. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29

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