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 :

Initialisation des cellules d'une table [WD14]


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 52
    Points
    52
    Par défaut Initialisation des cellules d'une table
    Bonjour,

    J'ai (encore) un petit souci avec une de mes tables.

    J'y affiche des utilisateurs et leurs caractéristiques. Leur métier, grade, spécialité, etc... sont chacun séparés dans des fichiers différents et un utilisateur a 0 ou 1 métier, 0 ou 1 grade et ainsi de suite.

    Le problème est que quand je veux afficher une liste des agents, ceux qui n'ont par exemple aucune spécialité ou aucun grade ne s'affichent pas.

    Quelqu'un voit-il où est le problème ? Ma requête intégrée pour l'initialisation de la table est la suivante :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    SELECT 
    	Agent.matricule AS matricule,	
    	Agent.civilité AS civilité,	
    	Agent.nom AS nom,	
    	Agent.prénom AS prénom,	
    	Agent.dateNaissance AS dateNaissance,	
    	Agent.numTel AS numTel,	
    	Agent.Adresseemail AS Adresseemail,	
    	Agent.codeADELI AS codeADELI,	
    	Agent.codeRPPS AS codeRPPS,	
    	TypeCarte.libelle AS libelle,	
    	Grade.libelle AS libelle_Gr,	
    	Métier.libelle AS libelle_Mé,	
    	Pole.libelle AS libelle_Po,	
    	Service.libelle AS libelle_Se,	
    	Spécialité.libelle AS libelle_Sp,	
    	UF.libelle AS libelle_UF
    FROM 
    	Pole,	
    	Agent,	
    	Spécialité,	
    	Service,	
    	Grade,	
    	Métier,	
    	UF,	
    	Affectation,	
    	Carte,	
    	Commande,	
    	TypeCarte
    WHERE 
    		Agent.IDPole	=	Pole.IDPole
    	AND	Agent.IDSpécialité	=	Spécialité.IDSpécialité
    	AND	Agent.IDService	=	Service.IDService
    	AND	Agent.IDGrade	=	Grade.IDGrade
    	AND	Agent.IDMétier	=	Métier.IDMétier
    	AND	Agent.CodeUF	=	UF.CodeUF
    	AND	Affectation.IDAgent	=	Agent.IDAgent
    	AND	Affectation.IDCarte	=	Carte.IDCarte
    	AND	Carte.IDCommande	=	Commande.IDCommande
    	AND	Commande.IDTypeCarte	=	TypeCarte.IDTypeCarte
    	AND
    	(
    		Commande.IDCommande = {Param1}
    	)
    ORDER BY 
    	nom ASC

    Un peu bourrin je sais en gros je lui demande d'afficher plusieurs caractéristiques de la table Agent (mes utilisateurs) ainsi que son métier, son grade, son UF, sa spécialité, son Pôle et son service quand les agents font partie de la commande donnée en paramètre.

    Seuls les Agents qui ont un métier, un grade, un UF, un spécialité, un Pôle et un service (les 6 en même temps) s'affichent. Ceux qui n'ont pas l'une de scaractéristiques ci-dessus ne s'affichent pas.


    J'ai essayé de contourner le problème en sélectionnant les clés étrangères de Agent désignant ces caractéristiques dans la table, puis de les modifier par programmation mais impossible d'afficher un résultat dans la cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    POUR TOUTE LIGNE DE TABLE_GestionCartes
    	// GRADE
    	sUngrade est une chaîne = COL_Matricule
    	SI (HExécuteRequête(REQ_testGrade,hRequêteDéfaut, sUngrade) = Vrai) ALORS
    		HLitPremier(REQ_testGrade)
    		COL_IDGrade[MoiMême] = REQ_testGrade.libelle
     
    	SINON
    		TABLE_GestionCartes.COL_IDGrade[MoiMême] = ""
    	FIN
     
    FIN
    La requête REQ_testGrade :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT 
    	Grade.libelle AS libelle
    FROM 
    	Grade,	
    	Agent
    WHERE 
    		Agent.IDGrade	=	Grade.IDGrade
    	AND
    	(
    		Agent.matricule = {Param1}
    	)

    Si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info("valeur affichée :" + COL_IDGrade[MoiMême]..ValeurAffichée)
    , il me donne bien la valeur que je voudrais dans la cellule, mais elle n'apparaît pas dans le table. Les TableAffiche() n'y changent rien.


    Voilà mon problème, désolé du post assez long mais ça fait un bon moment que je bloque là dessus et j'espère beaucoup pouvoir trouver de l'aide.
    Si vous avez des questions (mon explication est peut-être un peu brouillon ), n'hésitez pas !

    Merci d'avance,

    Aenur.

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Bonjour, c'est un problème de requête SQL.

    Il faut dans tes jointures indiquer que tu veux aussi les Agents qui n'ont pas de xxx associées.

    Sous l'éditeur de requête tu va sur avancé puis jointures puis éditer les jointures

    et la tu trouvera les options dont tu as besoin.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 52
    Points
    52
    Par défaut
    Bien vu
    Je n'avais jamais remarqué qu'on pouvait faire tout ça !

    Merci beaucoup ça a résolu mon problème Finalement c'était pas si dur que je ne le pensais mais je pense pas que j'aurais trouvé tout seul.

    Merci encore !

    Aenur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Fusionner des cellules dans une table de données
    Par Excelandme... dans le forum Conception
    Réponses: 0
    Dernier message: 18/06/2013, 10h54
  2. [AC-2003] Réécrire sur des cellules d'une table
    Par UJohn dans le forum IHM
    Réponses: 0
    Dernier message: 14/05/2013, 15h41
  3. [WD16] Manipulation des cellules d'une table
    Par xoorus dans le forum WinDev
    Réponses: 4
    Dernier message: 22/05/2012, 13h06
  4. changer les dimensions des cellules d'une table
    Par master_och dans le forum Composants
    Réponses: 3
    Dernier message: 26/09/2008, 19h12
  5. envoyer des données depuis cellules excel à une table access
    Par alaouiyassine01 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2007, 17h39

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