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 :

Relations et HAjoute [WD16]


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut Relations et HAjoute
    Bonsoir,

    J'ai dans mon analyse deux fichiers liés par un fichier de relations nommés : fichier_1, fichier_2 et fichier_relations

    Je dois utiliser la fonction HAjoute pour remplir mes fichiers, mais un soucis d'intégrité se pose au moment de l'ajout dans le fichier_1 étant donné que le fichier_relations doit être également rempli. Mais ce qui est génant, c'est que je dois bien evidement remplir deja mon fichier_1 pour avoir l'ID de l'enregistrement pour après remplir le fichier_relations mais cela ne me laisse pas le choix de faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI HAjoute(fichier_1, hIgnoreIntégrité) ALORS
    	fichier_relations.IDfichier_1 = fichier_1.IDfichier_1
    	fichier_relations.IDfichier_2 = COMBO_truc.COL_IDfichier_2
    	HAjoute(fichier_relations)
    FIN
    Est-ce correct ? Aucun autre moyen de gérer le remplissage des fichiers de relations ?

    Merci!

  2. #2
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Peux tu nous donner les cardinalités entre tes tables :

    1. 0,1
    2. 1,1
    3. 0,n
    4. 1,n
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  3. #3
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Bonjour,

    le problème se pose en général pour une cardinalité 1,n ou 1,1
    la solution la plus simple est de passer en 0,n ou 0,1 même si c'est une entorse à ton analyse de départ.

    sinon tu peux aussi déterminer le dernier ID de ton fichier puis incrémenter de 1 puis faire ton hajoute sur les deux fichiers avec hforceidauto mais à mon avis c'est plus contraignant.

    Bon dev

  4. #4
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    la solution la plus simple est de passer en 0,n ou 0,1 même si c'est une entorse à ton analyse de départ.
    Pas forcément, car je pense qu'il a un fichier entête et un fichier détails. Je suis d'accord que un fichier entête a 1 ou plusieurs détails (Car sinon cela ne sert à rien de valider une entête vide) et un enregistrement détail est relié à 1 et 1 entête.

    Cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table1  1,n ----- 1,1 Table2.
    Sauf que si on prend dans l'échelle du temps dans les insertions dans la base. On ne peux pas ajouter en même temps dans la table 2 et dans la table 1.
    Dans la logique, on va déjà ajouter l'entête avant les détails. Au moment de l'ajout de l'entête, celle-ci n'aura pas de détails. donc la relation devient 0,n.

    Au final dans le schéma E/A on aura

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table1  0,n ----- 1,1 Table2.
    Le test de au minimum un détail doit être fait par programmation
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  5. #5
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonsoir,

    Les cardinalités sont les suivantes :

    1,n - 1,1 entre fichier_1 et fichier_relation

    et puis :

    0,1 - 0,n entre fichier de relation et fichier_2

  6. #6
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonsoir,

    Je me permet de remonter mon topic, je vous ai donné les cardinalités, comment dois-je faire finalement ?

    Merci pour votre aide

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Dans la discussion, les différents interlocuteurs ont parlé de changer la cardinalité 1-n en 0-n. As-tu essayé ? Ca devrait pas mal dégrossir le travail ...

  8. #8
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Vive la fatigue, je viens de tester... Effectivement en 0,n cela fonctionne parfaitement

    Merci !

  9. #9
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Et voilà...

    Sauf que je suis quand même un peu frustré à chaque fois que je fais cette manip de faire une belle analyse et de la casser ensuite...

    Donc si une personne a une vrai solution, qu'elle n'hésite pas à poster.

    Bon dev

  10. #10
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Effectivement, si il y avait une solution pour alimenter les deux fichiers en même temps sans changer les cardinalités de départ qui sont correct finalement...

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

Discussions similaires

  1. Mettre en relation les contrôles DBLookUpComboBox et DBGrid
    Par Gendarmette dans le forum Bases de données
    Réponses: 7
    Dernier message: 19/01/2004, 13h16
  2. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07
  3. [EJB2.1 Entity] [CMR] Relation One to Many
    Par hamed dans le forum Java EE
    Réponses: 2
    Dernier message: 31/12/2003, 14h26
  4. Réponses: 2
    Dernier message: 26/09/2003, 15h54
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

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