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 :

HModifie ne modifie rien du tout


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut HModifie ne modifie rien du tout
    Bonjour à tous,

    Dans un projet j'ai un HModifie qui ne fonctionne pas et je ne comprends pas pourquoi !? Plusieurs HModifie sont dans le projet et celui-là ne veut rien savoir...

    Quelqu'un saurait pourquoi ? Voici 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    HCréationSiInexistant(F_Adresses)
    
    HLitPremier(Facture)
    SI HTrouve() ALORS
    	TANTQUE PAS HEnDehors(Facture)
    		//	Test de l'adresse de facturation déjà enregistrée
    		//	On lit le dossier correspondant dans le fichier dossier
    		HLitRecherche(Dossier,IDDossier,Facture.IDDossier)
    		SI HTrouve ALORS
    			SI SansEspace(Dossier.FactureAdresseDestinataire) = "" ET SansEspace(Dossier.FactureAdresseRue) = "" ALORS
    				//	L'adresse est écrite dans la fiche client uniquement
    				HLitRecherche(Clients, IDClient, Dossier.IDClient)
    				SI HTrouve(Clients) ALORS
    					F_Adresses.FactureAdresseDestinataire = Clients.LibClient
    					F_Adresses.FactureAdresseRue = Clients.Adresse
    					F_Adresses.FactureAdresseCP = Clients.CodePostal
    					F_Adresses.FactureAdresseVille = Clients.Ville
    					HAjoute(F_Adresses)
    				FIN
    			SINON
    				//	L'adresse est écrite dans le fichier dossier
    				F_Adresses.FactureAdresseDestinataire = Dossier.FactureAdresseDestinataire
    				F_Adresses.FactureAdresseRue = Dossier.FactureAdresseRue
    				F_Adresses.FactureAdresseCP = Dossier.FactureAdresseCP
    				F_Adresses.FactureAdresseVille = Dossier.FactureAdresseVille
    				HAjoute(F_Adresses)
    			FIN		
    			Facture.IDF_Adresses = F_Adresses.IDF_Adresses
    			HModifie(Facture)		
                      FIN
    		HLitSuivant(Facture)
    	FIN
    FIN
    Facture.IDF_Adresses reste toujours à 0.

    Merci de votre aide.

    Christian.

  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 : 45
    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 803
    Points
    3 803
    Par défaut
    bonjour,

    il faudrais tester si les HAjoute(F_Adresses) fonctionne correctement,
    puis trace la valeur de F_Adresses.IDF_Adresses
    Ensuite teste si HModifie ne rencontre pas d'erreur et affiche l'erreur
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    Premièrement, il faut prendre l'habitude d'utiliser HTrouve() en spécifiant le fichier concerné, cela peut permettre d'éviter des confusions.
    Donc tu dois avoir Htrouve(Facture) puis HTrouve(Dossier).

    Ensuite, ton premier Htrouve() ne se référe à rien car il n'y a pas eu de recherche ni de filtre auparavant, seulement un positionnement.
    Donc la boucle n'est jamais parcourue car Htrouve() renvoie faux.
    La connaissance s'accroît quand on la partage.

  4. #4
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Bonjour,

    Merci à vous deux pour vos réponses.

    Pour mail.spam j'ai vérifié tout ça déjà et aucun soucis. Ni de HAjoute, ni d'erreur.

    Pour leonidas34 je vais changer le HTrouve() en rajoutant le nom du fichier et je vous tiens au courant.

  5. #5
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Même en modifiant HTrouve() avec HTrouve(Facture), cela ne change rien.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    Je me suis trompé, hlitPremier modifie htrouve()
    La connaissance s'accroît quand on la partage.

  7. #7
    Membre du Club Avatar de nanox
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 63
    Points : 61
    Points
    61
    Par défaut
    Après le HAjoute(F_Adresses), l'enregistrement ajouté devient l'enregistrement en cours.

    Or F_Adresses.IDF_Adresses n'a pas été renseigné avant le Hajoute() et sa valeur par defaut doit etre 0.

  8. #8
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Bonjour Nanox,

    La valeur de F_Adresses.IDF_Adresses n'est pas à 0.

    Après le HAjoute(F_Adresses) je suis même allé jusqu'à mettre en code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    HLitDernier(F_Adresses)
    SI HTrouve(F_Adresses) ALORS
    	Facture.IDF_Adresses = F_Adresses.IDF_Adresses
    	HModifie(Facture)
    	SI ErreurDétectée ALORS
    		Info("Impossible de modifier 'enregistrement"+RC+HErreurInfo())
    		RETOUR
    	FIN
    FIN
    Mais cela ne change rien.

  9. #9
    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,

    peux-tu essayer de mettre une valeur fixe (genre l'id de ta première adresse de la table) pour voir si c'est l'affectation qui déconne ou la valeur par défaut qui reste tout le temps ...

    Autre possibilité, ce champ fait partie de la clef unique de la table et ne peux donc pas être changé !

    à bientôt,

    Nicolas

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Quelle est la valeur renvoyée par hmodifie ?
    Si tu mets un point d'arrêt sur l'affectation, et que tu traces pas à pas le code, quelle est la valeur de F_Adresses.IDF_Adresses ?

    Tatayo.

  11. #11
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Nicolas_Jeanneau Voir le message
    Bonjour,

    peux-tu essayer de mettre une valeur fixe (genre l'id de ta première adresse de la table) pour voir si c'est l'affectation qui déconne ou la valeur par défaut qui reste tout le temps ...

    Autre possibilité, ce champ fait partie de la clef unique de la table et ne peux donc pas être changé !

    à bientôt,

    Nicolas
    Bonjour Nicolas,

    J'ai mis la valeur 1 : facture.IDF_Adresses = 1 et le fichier facture ne prends toujours pas la valeur... Donc ce n'est pas la valeur par défaut qui reste.

    Le champ n'est pas une clé unique du fichier. C'est une clé avec doublons.

  12. #12
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Quelle est la valeur renvoyée par hmodifie ?
    Si tu mets un point d'arrêt sur l'affectation, et que tu traces pas à pas le code, quelle est la valeur de F_Adresses.IDF_Adresses ?

    Tatayo.
    Bonjour Tatayo,

    hmodifie = vrai
    HNumEnr = 1 puis 2, puis 3, etc....
    HEnDehors = faux
    HTrouve = vrai
    HErreur = 0

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Quelle est la valeur de F_Adresses.IDF_Adresses lors de l'execution pas à pas ?

    Tatayo.

  14. #14
    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
    Citation Envoyé par Xsara 167 cv Voir le message
    Bonjour Nicolas,

    J'ai mis la valeur 1 : facture.IDF_Adresses = 1 et le fichier facture ne prends toujours pas la valeur... Donc ce n'est pas la valeur par défaut qui reste.

    Le champ n'est pas une clé unique du fichier. C'est une clé avec doublons.
    Ce que je voulais savoir, c'est si la valeur rentrée en constante (ici la valeur 1) était bien enregistrée avec le HModifie ! Est-ce que c'est le cas ?

    Nicolas

  15. #15
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Quelle est la valeur de F_Adresses.IDF_Adresses lors de l'execution pas à pas ?

    Tatayo.
    1 puis 2 puis 3 puis 4, etc... L'incrémentation et l'enregistrement de F_Adresses se fait bien. Et F_Adresses.IDF_Adresses a les bonnes valeurs...

  16. #16
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Nicolas_Jeanneau Voir le message
    Ce que je voulais savoir, c'est si la valeur rentrée en constante (ici la valeur 1) était bien enregistrée avec le HModifie ! Est-ce que c'est le cas ?

    Nicolas
    Pardon je me suis mal exprimé. Non valeur non enregistrée avec le HModifie.

  17. #17
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    Quelle valeur renvoie le hmodifie ?

    Il est possible qu'un verrou ait été posé sur un enregistrement.
    La connaissance s'accroît quand on la partage.

  18. #18
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Valeurs du HModifie :

    hmodifie = vrai
    HNumEnr = 1 puis 2, puis 3, etc....
    HEnDehors = faux
    HTrouve = vrai
    HErreur = 0

    Voili voilou

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Est-ce que tu as un trigger sur la table ?
    Quelle est la valeur de Facture.IDF_Adresses juste après le hModifie ?
    Est-ce que tu as encadré le tout par une transaction ?

    Tatayo.

  20. #20
    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
    Regardes le format du champ qui a mon avis ne doit pas être un numérique ... !

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/01/2010, 12h22
  2. Message "nosignal" sur l'ecran puis rien du tout
    Par JavaAcro dans le forum Périphériques
    Réponses: 12
    Dernier message: 19/12/2006, 14h53
  3. [MySQL] Code n'affichant rien du tout ?
    Par kevinf dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 21/11/2006, 17h24
  4. [FLASH 8] filters.comprend Rien Du Tout
    Par luta dans le forum Flash
    Réponses: 3
    Dernier message: 08/11/2006, 11h35
  5. Action sur un bouton..Je comprends plus rien du tout!
    Par koolway dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 26/04/2006, 10h17

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