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 :

Problème de manipulation de trois fichiers interliés


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 65
    Points : 26
    Points
    26
    Par défaut Problème de manipulation de trois fichiers interliés
    Bonjour,
    Au fait, j'essaye de faire une application qui permet de repertorier ou enregistrer les personnes par type de metiers, par exple. Pour ce faire j'ai créé les fichiers PERSONNE, TYPE_METIER qui sont liés au fichier LIGNE_ENREGISTREMENT. J'ai créé aussi 2 fenêtres:
    - fen_pers qui sert à enregistrer l'identité de la personne (nom, prenom, age);
    - fen_2 qui porte une combo pour selectionner le nom de la personne enregistrée, des champs pour mettre les caractéristique du metier (nom_metier, description_metier), une table memoire (Tabl1) et 2 boutons:
    • Bouton "ok": Pour inserer le contenu des champs dans la tabl1
      voici ce que j'ai mis:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      HLitRecherche(PERSONNE,ID_PERSONNE,COMBO_nom_pers)
      SI HTrouve(PERSONNE) ALORS
      	TableAjouteLigne(TABL1, PERSONNE.nom_pers, SAI_nom_metier, SAI_desc_metier)
    • Bouton "valide": Pour enregistrer le contenu de la table dans le fichier
      voici le code:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      TYPE_METIER.nom_metier= SAI_nom_metier
      TYPE_METIER.desc_metier=SAI_Desc_metier
      HAjoute(TYPE_METIER)
       
      POUR TOUTE LIGNE DE TABL1
      HRAZ(Ligne_enregistrement)	
      Ligne_enregistrement.ID_PERSONNE=PERSONNE.ID_PERSONNE
      Ligne_enregistrement.ID_metier=TYPE_metier.ID_metier
      Ligne_enregistrement.ID_metier=COL_reference_metier
      Ligne_enregistrement.ID_PERSONNE=COL_reference_pers
      HAjoute(Ligne_enregistrement)
      FIN

    Au fait, je crois que l'enregistrement se fait normalement dans les fichiers PERSONNE et TYPE_METIER, mais pour LIGNE_ENREGISTREMENT j'ai l'impression qu'il y a problème. Bef je veux que lorsqu'on selectionne une personne qu'on puisse savoir tous les metiers dont il fait partie et vice vers ça, mais je suis vraiment bloqué, je ne suis pas sûr de mes codes

  2. #2
    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
    Bonjour,

    dans la table ligne_enregistrement, qu'est ce qu'il y a ? Toujours le même id de personne et le même id de type ? Des choses différentes ? N'importe quoi par rapport à ce que tu avais sélectionné dans ta fenêtre ?

    Est-ce que le problème est d'afficher ce qu'il y a dans cette table ?

    à bientôt,

    Nicolas

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 65
    Points : 26
    Points
    26
    Par défaut
    Au fait, quand je fais un 1er enregistrement (bien sûr à partir de la 2 è fenêtre), la table liée au fichier Ligne_enregistrement, affiche l'id_pers correctement, mais la colonne id_type affiche 0, et même si j'en fais plusieurs c'est le même id_type (c'est à dire 0). Aussi, si je mets plusieurs enregistrements dans la tabl1 avec le 1er bouton "ok" et que je valide par le 2è bouton "valider", l'ensemble de ces enregistrements auront le même id_pers, c'est à dire celui du dernier sur la liste!

  4. #4
    Membre averti
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 256
    Points : 435
    Points
    435
    Par défaut
    Citation Envoyé par noviceman1 Voir le message
    Bonjour,
    Au fait, j'essaye de faire une application qui permet de repertorier ou enregistrer les personnes par type de metiers, par exple. Pour ce faire j'ai créé les fichiers PERSONNE, TYPE_METIER qui sont liés au fichier LIGNE_ENREGISTREMENT. J'ai créé aussi 2 fenêtres:
    - fen_pers qui sert à enregistrer l'identité de la personne (nom, prenom, age);
    - fen_2 qui porte une combo pour selectionner le nom de la personne enregistrée, des champs pour mettre les caractéristique du metier (nom_metier, description_metier), une table memoire (Tabl1) et 2 boutons:
    • Bouton "ok": Pour inserer le contenu des champs dans la tabl1
      voici ce que j'ai mis:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      HLitRecherche(PERSONNE,ID_PERSONNE,COMBO_nom_pers)
      SI HTrouve(PERSONNE) ALORS
      	TableAjouteLigne(TABL1, PERSONNE.nom_pers, SAI_nom_metier, SAI_desc_metier)
    • Bouton "valide": Pour enregistrer le contenu de la table dans le fichier
      voici le code:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      TYPE_METIER.nom_metier= SAI_nom_metier
      TYPE_METIER.desc_metier=SAI_Desc_metier
      HAjoute(TYPE_METIER)
      
      POUR TOUTE LIGNE DE TABL1
      HRAZ(Ligne_enregistrement)	
      Ligne_enregistrement.ID_PERSONNE=PERSONNE.ID_PERSONNE
      Ligne_enregistrement.ID_metier=TYPE_metier.ID_metier
      Ligne_enregistrement.ID_metier=COL_reference_metier
      
      Ligne_enregistrement.ID_PERSONNE=COL_reference_pers
      HAjoute(Ligne_enregistrement)
      FIN

    Au fait, je crois que l'enregistrement se fait normalement dans les fichiers PERSONNE et TYPE_METIER, mais pour LIGNE_ENREGISTREMENT j'ai l'impression qu'il y a problème. Bef je veux que lorsqu'on selectionne une personne qu'on puisse savoir tous les metiers dont il fait partie et vice vers ça, mais je suis vraiment bloqué, je ne suis pas sûr de mes codes
    ID_metier est défini 2 fois avec 2 valeurs. seule la 2ème sera prise en compte

    Patrick

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 65
    Points : 26
    Points
    26
    Par défaut
    Ok, mais, s'il vous plaît, puis-je savoir quel serait le bon code pour inserer le contenu des lignes de ma table memoire(tabl1) dans le fichier. Si par exple ma table contient les colonnes :Reference_typeMetier, Reference_personne, nom_metier ou description_metier; comment dois-je faire

  6. #6
    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
    Bonjour,

    plusieurs choses ne vont pas dans l'approche pour faire l'enregistrement :

    - faire un stockage de l'identifiant de la personne et du métier au niveau de la ligne de la table. En effet, tu pourrais très bien changer dans la combo personne et avoir plusieurs personnes dans la table. Idem pour le métier.

    - ne pas faire que des HAjoute. Il peut très bien déjà exister un enregistrement avec l'id de la personne et du métier. Il faut le vérifier avant de faire le traitement pour la ligne.

    à bientôt,

    Nicolas

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 65
    Points : 26
    Points
    26
    Par défaut
    ok, merci bien pour ces observations; je crois que je vais essayer de voir avec 2 fichiers au lieu de 3.

Discussions similaires

  1. Problème pour manipuler un fichier
    Par benobil dans le forum Débuter
    Réponses: 11
    Dernier message: 25/05/2012, 18h14
  2. Réponses: 2
    Dernier message: 01/06/2004, 12h47
  3. Réponses: 2
    Dernier message: 28/04/2004, 11h25
  4. problème d'acces concurentiel à un fichier
    Par Theoden dans le forum MFC
    Réponses: 2
    Dernier message: 04/03/2004, 09h49
  5. Problème d'E.S. sur fichier avec open
    Par Bubonik software dans le forum C
    Réponses: 6
    Dernier message: 04/02/2004, 19h42

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