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 lié à la modification d'un enregistrement


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Programmeur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Par défaut Problème lié à la modification d'un enregistrement
    Bonsoir chère tout le monde voici mon problème:
    J'écris le code suivant pour la modification d'un Enregistrement dans le Fichier PAYS. Cependant, il s'exécute bien lorsque dans ma table mémoire il n'y à k'un seul enregistrement, mais lorsqu'il y'à deux la modification affecte tous les deux enregistrements.

    Code : 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
    HLitRecherche(REGION,Pays_id,REGION.Pays_id)
    TANTQUE HTrouve()
    	HModifie(REGION)
    	HLitSuivant(REGION,IDREGION)
    FIN
     
    HLitRecherche(pays,Pays_id,pays.Pays_id)
    SI  HTrouve() ALORS
    	pays.Pays_code=SAI_Code_Pays
    	pays.Pays_codetel=SAI_Code_Tel
    	pays.Pays_description=SAI_description
    	pays.Pays_nom=SAI_pays
    	pays.Pays_statut=Choix
    	HModifie(pays)
    	Info("Modification effectuée avec succès")
    	FIN
    Voici la structure des fichiers PAYS ET REGION:

    PAYS(ID_Pays auto;Code;Code_Tel;Nom;Statut;Description)
    REGION(ID_Regionauto;Nom;Statut;Description;ID_Pays#)

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 453
    Par défaut
    Bonjour,
    A quoi sert la première boucle ? Tu parcours le fichier région, n'y fait aucune affectation et lance un hModifie()... J'ai d'ailleurs un doute sur cette boucle.
    ensuite je ne vois pas trop comment ton code peux modifier plusieurs pays, sans aucune boucle sur ce fichier.
    Mon premier conseil est de placer un point d'arrêt sur la première ligne, et de suivre le code pas à pas pour bien comprendre ce qu'il se passe.

    Tatayo.

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 235
    Par défaut
    Il y a d'autres choses bizarres dans ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HLitRecherche(REGION,Pays_id,REGION.Pays_id)
    C'est le region.Pays_id à la fin qui me tracasse.

    Region.Pays_id, c'est l'Identifiant Pays de la structure région. Autrement dit, ça me semble être l'identifiant pays du dernier enregistrement lu dans le fichier REGION.

    Donc on va relire la même ligne que la dernière ligne lue dans ce fichier région ?

    Par ailleurs ( c'est peut-être le même bug), tu parles d'une table mémoire. Habituellement, les noms des champs tables sont de la forme TAB_REGION ou TAB_PAYS. Ce n'est pas une obligation, mais ça aide bien à lire le code. Ici,tu parles d'une table mémoire, mais je ne vois pas du tout où cette table mémoire intervient.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 557
    Par défaut
    En plus des remarques des autres utililsateurs, attention, en Windev il existe 2 syntaxes pour rechercher :

    HLitRecherche() et HLitRecherchePremier()...

    Le comportement des 2 est différents. Je vous laisse vous référez aux aides respectives de ces fonctions.

    Cordialement.

  5. #5
    Membre averti
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Programmeur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Il y a d'autres choses bizarres dans ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HLitRecherche(REGION,Pays_id,REGION.Pays_id)
    C'est le region.Pays_id à la fin qui me tracasse.

    Region.Pays_id, c'est l'Identifiant Pays de la structure région. Autrement dit, ça me semble être l'identifiant pays du dernier enregistrement lu dans le fichier REGION.

    Donc on va relire la même ligne que la dernière ligne lue dans ce fichier région ?

    Par ailleurs ( c'est peut-être le même bug), tu parles d'une table mémoire. Habituellement, les noms des champs tables sont de la forme TAB_REGION ou TAB_PAYS. Ce n'est pas une obligation, mais ça aide bien à lire le code. Ici,tu parles d'une table mémoire, mais je ne vois pas du tout où cette table mémoire intervient.
    Bonsoir expert, je ne sais pas si je n'arrive pâs mieux à exposer mon code et mes termes paraissent très confus.
    En effet, le fichiers des Pays me permet d'enregistrer tous les pays et chaque pays peut avoir plusieurs Régions. Lorsque je dois effectuer une modification sur un Pays automatiquement celle-ci doit se repercuter sur le fichier des Regions.
    Raison du Parcours dans le fichier Des Regions. Lorsque ce parcours est terminé la modification s'effectue sur le Pays conçerné.
    Et l'utilisateur devra constater cette modification au niveau des tables, à savoir Tab_Pays et Tab_Region.

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 235
    Par défaut
    Citation Envoyé par Asphin Voir le message
    Bonsoir expert, je ne sais pas si je n'arrive pâs mieux à exposer mon code et mes termes paraissent très confus.
    En effet, le fichiers des Pays me permet d'enregistrer tous les pays et chaque pays peut avoir plusieurs Régions. Lorsque je dois effectuer une modification sur un Pays automatiquement celle-ci doit se repercuter sur le fichier des Regions.
    Raison du Parcours dans le fichier Des Regions. Lorsque ce parcours est terminé la modification s'effectue sur le Pays conçerné.
    Et l'utilisateur devra constater cette modification au niveau des tables, à savoir Tab_Pays et Tab_Region.
    Bonsoir programmeur, le besoin est clair. Mais le code est confus.

    Normalement, la table TAb_pays devrait intervenir quelque part dans le code. Ou alors je n'ai rien compris au besoin.

  7. #7
    Membre averti
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Programmeur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Bonsoir programmeur, le besoin est clair. Mais le code est confus.

    Normalement, la table TAb_pays devrait intervenir quelque part dans le code. Ou alors je n'ai rien compris au besoin.
    Expert je commente mon code:
    Code : 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
    //Lire dans le fichier Region vérifier l'ensemble des Regions ayant le pays à modifier afin de modifier le fichier région
    HLitRecherche(REGION,Pays_id,REGION.Pays_id)
    TANTQUE HTrouve()
    	HModifie(REGION)
    	HLitSuivant(REGION,IDREGION)
    FIN
    
    // lire et modifier le Pays conçerné après l'avoir trouver.
    HLitRecherche(pays,Pays_id,pays.Pays_id)
    SI  HTrouve() ALORS
    	pays.Pays_code=SAI_Code_Pays
    	pays.Pays_codetel=SAI_Code_Tel
    	pays.Pays_description=SAI_description
    	pays.Pays_nom=SAI_pays
    	pays.Pays_statut=Choix
    	HModifie(pays)
    	Info("Modification effectuée avec succès")
    	FIN
    dans la prise de focus de la fenêtre j'inserre le code suivant pour charger ma Tab_Pays
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TableSupprimeTout(TABLE_Pays)
    POUR TOUT pays 
    	TableAjouteLigne(TABLE_Pays,pays.Pays_id,pays.Pays_nom,pays.Pays_code,pays.Pays_codetel,pays.Pays_description,pays.Pays_statut,pays.Pays_id)
    FIN

Discussions similaires

  1. Problème de modification d'un enregistrement à partir d'un UserForm
    Par TSAFACK-M dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/08/2016, 14h01
  2. Problème lors de la modification d'un enregistrement
    Par Racha07 dans le forum Hibernate
    Réponses: 0
    Dernier message: 02/06/2015, 12h45
  3. [MySQL] problème de modification d'un enregistrement en php
    Par mvictorinesonia dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 18/08/2014, 17h24
  4. [WD17] Problème de modification d'un enregistrement
    Par xGuigui78 dans le forum WinDev
    Réponses: 21
    Dernier message: 19/11/2012, 17h22
  5. Gestion des modifications pour un enregistrement
    Par Pascal Jankowski dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2004, 14h09

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