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 :

Remplir un Etat automatiquement avec une requête.


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut Remplir un Etat automatiquement avec une requête.
    Bonsoir,
    j'ai une requête SQL et un ETAT vierge.
    Je voudrai pouvoir remplir mon ETAT "automatiquement" avec le résultat de ma requête (le tout par programmation).
    Le seul problème c'est que ma requête peut changer, ainsi que le nombre de champs a montrer.
    C'est l'utilisateur qui choisi les champs a montrer, et c'est la que ma requête se monte automatiquement.

    j'ai essayer avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ETAT_Etat1.RUB_RUBRIQUE1 = FEN_Fenêtre2.Champs1
    mais c'est impossible car le nombre de champs a créer est variable.
    Il y aurait un moyen dans un état de pouvoir ajouter des champs automatiquements et de passer la valeur du résultat de ma requête?
    Où quelqu'un a une autre solution?

    Merci beaucoup, la vérité c'est que je sèche.

    David

  2. #2
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Soit tu clone soit tu dispose d'un réservoir de champs invisibles

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Merci Patrick,

    les champs peuvent être différents, donc mon Etat aussi.
    je peux avoir:

    1er etat avec ces champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    IDClient	Nom		Prénom	Age
    1		AAAA		BBBBB	23
    5		CCCC		DDDDDDD	45
    2eme etat avec ces champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Email		Telephone		Adress
    aa@ff.fr	1234566		FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    clones les champs tu crois que c'est possibles? Car le réservoir de champs invisibles ne me parait pas aussi bonne idée.

    Merci

    David

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonjour,
    Qu'est ce que tu as de commun d'un état à l'autre ?
    cela provient de la même source ?
    Gancau

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 342
    Points : 3 857
    Points
    3 857
    Par défaut
    Salut à toi,

    Est-ce qu'il ne serait pas plus simple d'afficher le résultat de ta requête dans une table (les intitulés des entêtes et le nombre de colonnes se gèrent très facilement par programmation) et de voir ce que peux te proposer le menu contextuel par défaut concernant les importations de la table ?

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Je n'ai qu'un seul ETAT. J'en ai fait un autre pour mettre le résultat de ma requete dans une table et apres l'imprimer.
    Cela sera possible si le forma choisi et table.
    Mais s'il choisi un format "libre" ou les données sont representées comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    IDClient:	1
    Nom:	AAAA
    Prénom:	BBBBB
    Age: 23
     
    IDClient:	2
    Nom:	CCCC
    Prénom:	DDDD
    Age: 45
    c'est la meme source de données (c'est la meme BD, mais pas forcement les meme tables)

    Merci beaucoup.

    David

  7. #7
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 342
    Points : 3 857
    Points
    3 857
    Par défaut
    Je ne veux pas être pessimiste, mais ce genre de fonctionnalité, ça va être difficile à mettre en place sans que ce soit une usine à gaz.

    As-tu regarder du côté du module Etats et Requêtes, ça pourrait peut être convenir à ton utilisateur ?

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Salut,
    mon utilisateur est vraiment movice. Il veut seulement pouvoir choisir d'une liste, les rubriques qu'il veut et le SQL se genere automatiquement.
    Je vais essayer avec une table. Mais mon probleme est avec les etats dits "libre".
    Merci.

    David

  9. #9
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    tu peux faire des rubriques qui se mettent au fur et à mesure
    Je m'explique avec blocs itération tu peux décider de les imprimer ou non
    ce qui te ferait par exemple un bloc en provenance de chacune des tables, donc un agencement que tu pourrais maîtriser avec éventuellement des champs obligatoires pour une table donnée.
    Ensuite tu mets plein de rubriques et tu les affectes au fur et à mesure avec le bon champ et le bon libellé. Tu prévois un nombre maxi de rubriques. Tu les rends toutes invisible et tu n'affiches que celle qui t'intéresse en incrémentant.
    par exemple dans un ancien projet j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SI FABRICATION.FA_MEF_OK ALORS
    	{"lib_Num_"+NumériqueVersChaîne(nNum_etape)}..Visible=Vrai
    	{"LIB_Lib_"+NumériqueVersChaîne(nNum_etape)}..Visible=Vrai
    	{"RUB_Date_"+NumériqueVersChaîne(nNum_etape)}..Visible=Vrai
    	{"RUB_Intervenant"+NumériqueVersChaîne(nNum_etape)}..Visible=Vrai
    	{"lib_Num_"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony	
    	{"LIB_Lib_"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony
    	{"RUB_Date_"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony
    	{"RUB_Intervenant"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony
    FIN
    avec nnum_etap qui s'incrémente à chaque test de mes étapes (à faire, ne pas faire)

    et ensuite j'ai un bloc d'itération qui contient le compte rendu si l'étape est réalisée. Comme cela en plus je gère la hauteur de mes blocs

    Gancau

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Bonjoir,
    merci de ta réponse Gancau. C'est une bonne idée.
    Mais il y a moyen de déplacer les rubriques de mon Etat para programmation pour ne pas laisser de champs en blanc entre elles?

    Merci

    David

  11. #11
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonsoir,
    tout à lheure j'ai juste fait un copier coller d'un bout de code comme exemple.
    dans mon état j'ai créé des libellés et des rubriques par des copier coller.
    J'ai bien fait attention à l'ordre des copies de sorte que la rubrique placée en première (tout en haut) soit la rubrique numéroté 1 et en face du libellé numéroté 1 et éventuellemnt d'un commentaire numéroté 1 et ainsi de suite. Il se trouve que dans mon code le libellé, la rubrique, la date et l'intervenant sont sur la même ligne.

    Ensuite j'ai un compteur qui s'appelle nNum_etape et qui est initialisé à 0
    mais aussi NpositionY qui est initialisé à la première position désirée ensuite je dis qu'une rubrique prend une certaine hauteur par exemple 30 (ou une variable)
    à chaque fois que je veux afficher une rubrique je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    nNum_etape++
    //affichage des rubriques et libellés toute du même numéro :
    {"lib_Num_"+NumériqueVersChaîne(nNum_etape)}..Visible=Vrai
    {"LIB_Lib_"+NumériqueVersChaîne(nNum_etape)}..Visible=Vrai
    {"RUB_Date_"+NumériqueVersChaîne(nNum_etape)}..Visible=Vrai
    //placement des données 
    {"lib_Num_"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony	
    {"LIB_Lib_"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony
    {"RUB_Date_"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony
    {"RUB_Intervenant"+NumériqueVersChaîne(nNum_etape)}..Y=nPositiony
    npositionY+=30 //ou variable
    Ensuite il ne te reste plus qu'a affecter la valeur de ta rubrique si tu n'as pas de lien.
    Comme tu incrémentes ton indice et que tu as bien numéroté tes rubriques (c'est fastidieux au départ...) tu n'as aucune rubrique blanche au milieuet tu as bien géré l'espacement.
    Là tu as fait un état de zéro, tout en programmation.

    Gancau

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Bonjour,
    Merci, c'est ce que je voulais faire, mais je ne savias pas trop comment.
    J'ai essayer (avec semi succès) en creant una table avec une colonne et de cloner la colonne, mais je ne sais pas comment faire pour changer le titre de la colonne crée par clonage. Apres j'envoie ma table a l'Etat et ça marche.
    Mais je vais essayer ta methode.
    A+

    David

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Bonjour,
    je mets un bout de code au cas ou il y aurait quelqu'un qui aurait une idée pour changer le nom du titre de la colonne crée.
    J'ai ce code, mais j'ai une erreur su la dernière ligne sur le signe +.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	ChampClone(TABLE_Table1.COL_Colonne1,"NomColonne")
    
    	TABLE_Table1.COL_Colonne1..Titre = "IDClient"
    	TABLE_Table1.COL_Colonne1..Largeur=200
    
    	TABLE_Table1.+{"NomColonne"}..Titre = "NomClient"
    Quelqu'un a une idée?
    Merci.

    David

  14. #14
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {TABLE_Table1..Nom + ".NomColonne",indChamp}..Titre = "NomClient"
    ou
    {"TABLE_Table1.NomColonne",indChamp}..Titre = "NomClient"
    ça devrait aller mieux

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Bonjour,
    je viens d'essayer et ça marche. Merci hpascal.
    Et un gran merci a tous ceux qui m'ont aidé a résoudre mon problème.
    A bientôt.

    David

  16. #16
    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
    De rien
    Un règle simple : De manière générale, le nom de l'objet à manipuler doit être une chaîne dans les accolades, les propriétés en dehors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"monobjet"}..MaPropriété
    La chaîne peut être assemblée à partir variables, de noms d'objet (Objet..Nom) ou de valeurs en dur.

  17. #17
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Points : 54
    Points
    54
    Par défaut
    Bonjour,
    Une très bonne règle. Je suis sûr que ça aidera pas mal de gents.
    A+
    David

Discussions similaires

  1. [AC-2010] Etat automatique d'une requête analyse croisée
    Par benoit-ema dans le forum IHM
    Réponses: 8
    Dernier message: 03/09/2011, 11h29
  2. Remplir une zone de liste Excel avec une requête Access (problème)
    Par Tontorise dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 30/05/2007, 14h26
  3. Réponses: 6
    Dernier message: 23/04/2007, 15h21
  4. Remplir une table avec une requête
    Par zapatta dans le forum Access
    Réponses: 12
    Dernier message: 06/09/2006, 11h26
  5. Réponses: 3
    Dernier message: 21/06/2005, 11h37

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