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 :

[WD11]comment faire relation maitre/détails entre les tables


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut [WD11]comment faire relation maitre/détails entre les tables
    salut
    j'ai une base ou il y'a plusieurs tables, il y'a une table informations qui contients les information de chaque personne (matricule,identité,nom,date de naissance....), les autres tables sont chaqun son role (table stage, table experiences, table paies....) chacun de ces tables contient des informations et 3 champs qui sont des réferences pour chaque personne: matricule,nom,qualification
    mon problème c'est que je souhaite faire une relation maitre/détail pour chaque table, c'est à dire par exemple pour l'ajout d'un stage (dans la fiche) je sélectionne une matricule et je saisie les informations du stage, mais au niveau du table je dois avoir avec les informations des stages, le nom, matricule, et qulification qui sont mis automatiquement dans l'enregistrement ou il y'a le stage ajouter en respectant les champs
    dans l'aide de windev j'ai vue qu'on peut le faire avec les relations, mais au niveau des relation je ne peut avoir qu'une seule clé pour la liaison, aussi je ne peux pas avoir la clé composé au niveau des relations, alors SVP comment faire les relation maitre/détail avec windev?

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Je comprends pas bien désolé. Tu veux filtrer le contenu de plusieurs tables d'après la sélection de ta table information et permettre l'ajout et la modification de la sélection avec des champs détails?
    «Un problème bien défini est un problème à moitié résolu.»

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    salut
    j'ai par exemple la fiche stage(liée à la table stages), je choisis une matricule(combo qui est liée à la rubrique matricule de la table informations), puis je fais la saisie de la date de stage, date fin de stage, diplôme obtenue du stage.
    si maintenant j'affiche la table stages (données), je dois trouver dans l'enregistrement que je viens de saisir: matricule,nom,qulification, date de stage, date fin de stage et diplôme (biensûre la table stage contient aussi les trois champs références matricule,nom et diplôme).
    c'est à dire dans chaque saisie, les trois données références de la table information qui sont matricule,nom et qualification seront enregistrer automatiquement dans l'enregistrement créer.
    NB: un agents peut avoir 1 ou plusieurs stages
    dans l'aide windev j'ai vu que c'est faisable avec les relation (clé composé), alors j'ai fait cette clé qui regroupe ces trois rubriques dans les deux tables (ces rubrique sont identiques dans les deux tables) mais je n'arrive plus à le faire dans les relations
    merci

  4. #4
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Déjà tu ne peux pas relier 2 clés composées. Si une des clés est composée l'autre sera un champ binaire. Le plus simple c'est de créer la clé composée puis de laisser windev créer la clé binaire en créant la relation entre tes tables. Tu ne devrais pas avoir les rubriques matricule, nom et qualification dans tes 2 tables.
    «Un problème bien défini est un problème à moitié résolu.»

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    salut
    j'ai déjà fais ça mais je n'ai pas une bonne solution, pour moi je veux bien l'existante des rubrique matricule,nom,qualification dans chaque table (biensûre qui sont remplis selon la relation avec table information) car je veux utiliser ces tables après sans la relation avec table informations et j'ai besoin de ses rubriques

  6. #6
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Le principe reste le même mais tu vas devoir copier ces données manuellement en faisant l'ajout.
    «Un problème bien défini est un problème à moitié résolu.»

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    bonjour
    j'ai voulu faire sa en dure, dans la rubrique sélection d'une ligne de la combo (ou on sélectionne la matricule), j'ai mis ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    stage.nom=actif.nom
    stage.qualification=actif.qualification   
    hajoute(stage)
    //actif est une requête sélection et stage une table
    mais il ne fait rien, plutôt il insère matricule mais nom il insère un nom qui ne correspond à une matricule et se nom s'insère dans toutes les matricule que j'insère et même chose pour qulification
    même chose si je mets se code dans le bouton appliquer ou ok

  8. #8
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Si ta combo n'est pas directement lié au fichier, c'est-à-dire remplie par requête ou programmation, l'enregistrement ne correspondra pas à la valeur de ta combo. Tu dois donc faire un HLitRecherchePremier sur ton fichier actif avant de remplir stage. Et n'oublie pas de remplir ta clé aussi.
    «Un problème bien défini est un problème à moitié résolu.»

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    salut
    toujours dans le même problème, je souhaite faire la relation de sorte que si je sélectionne une matricule (clé unique) dans la table info (matricule,qualification,site de travail qui sont des clé) et que je saisie des données dans la table stage(les dates de stage seulement), je dois avoir alors dans la table stage la qualification et le site de travail qui sont saisie automatiquement (même chose pour la suppression)
    existe une relation en windev qui fait sa, ou peut être des conseisl pour faire sa
    merci

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par dj_techno Voir le message
    je saisie des données dans la table stage (les dates de stage seulement), je dois avoir alors dans la table stage la qualification et le site de travail qui sont saisie automatiquement (même chose pour la suppression)
    On n'ajoute pas dans une table les informations d'une autre table.
    On établi des liaisons entre les tables.
    Ce n'est pas un problème de code, mais un problème de conception de ta base de données.

  11. #11
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    478
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 478
    Points : 89
    Points
    89
    Par défaut
    comment vous me conseillez de le faire, car j'ai bien fait plusieurs relation et à chaque je ne peux avoir la bonne solution

Discussions similaires

  1. [2005] Comment faire un truncate de toutes les tables d'un schéma ?
    Par clementratel dans le forum SSIS
    Réponses: 12
    Dernier message: 24/03/2011, 10h00
  2. [OpenOffice][Base de données] comment creer les cardinalite des relations entre les tables
    Par aya2103 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 23/08/2010, 13h36
  3. comment creer les cardinalite des relations entre les tables
    Par aya2103 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 23/08/2010, 12h28
  4. [WD11] Relations entre les tables
    Par dj_techno dans le forum WinDev
    Réponses: 5
    Dernier message: 27/03/2009, 13h43
  5. Réponses: 2
    Dernier message: 23/07/2007, 10h11

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