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 :

Modification de table impossible


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut Modification de table impossible
    Bonjour!
    j'ai effectué une modification sur ma table produit qui a donné avec succès. Mais je voudrais refaire avec une autre table mais impossible.
    le premier code qui a marché est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SI BTN_SansNom1 ALORS
    HLitRecherche(PRODUIT,Designation,FEN_Fiche_Produit.Designation)
    FichierVersEcran()
    fin
    le code qui ne marche pas est:

    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
    FichierVersEcran()
    SI BTN_SansNom1 ALORS
    	HLitRecherche(Comporte,Designation,FEN_Fiche_Comporte.SC_Fiche.COMBO_Designation)
    	FichierVersEcran()
    sinon
     
            FichierVersEcran()
     
    	HLitPremier(FACTURE_RE)
    	TANTQUE PAS HEnDehors(FACTURE_RE)
    				HLitSuivant(FACTURE_RE)
    	FIN	
    	SI FEN_Relation_FACTURE_RE_Comporte1.SC_Fiche.COL_Code_fac_re..Valeur="" ALORS
    		FEN_Fiche_Comporte.SC_Fiche.COMBO_Code_fac_re..Valeur=FACTURE_RE.Code_fac_re	
    	 SINON
    	FEN_Fiche_Comporte.SC_Fiche.COMBO_Code_fac_re=FEN_Relation_FACTURE_RE_Comporte1.SC_Fiche.COL_Code_fac_re..Valeur		
     
    	FIN
    fin
    je voudrais votre coup de main car il doit avoir sur la table comporte le code de modification en cas d'erreur de saisie.
    c'est vilain de supprimer et reprendre la saisie à chaque fois qu'on se trompe.
    je veux préciser qu'il ne voit que le sinon càd la deuxième condition.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 411
    Points : 434
    Points
    434
    Par défaut
    Bonjour

    1) que signifie cette syntaxe : SI BTN_SansNom1 ALORS
    2)ta boucle devrait être #
    en effet hlitpremier lit....
    donc hlitsuivant saute une ligne

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut
    même moi j'ai remarqué que : SI BTN_SansNom1 ALORS ;est bizarre mais ça marche sur mes tables PRODUIT, CLIENT, UTILISATEUR, etc.
    seulement avec fiche et table reliée : FEN_fiche_Relation_Comporte.SC_fiche.Table_Comporte j'ai essayé sans succès pour le bouton modification sur la table_comporte.
    la boucle devrait être #? je ne comprend pas ça.
    SI BTN_SansNom1=je veux dire par là si le bouton; SI BTN_SansNom1 qui est le bouton de modification est cliqué il charge l'enregistrement sélectionné dans la fenêtre.
    sinon il ramène les champs qui sont liés au autre table tel que PRODUIT et Qte de produit sera à un, etc. tout de même j'ai la possibilité de les changer au cas besoin.
    merci!
    surtout ne vous souciez pas de l’intérieur de sinon car ça fonctionne comme je veux.

  4. #4
    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,
    A quoi bon faire 2 FichierVersEcran() si le bouton est cliqué ?

    A quoi sert cette boucle:
    Code WinDev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    HLitPremier(FACTURE_RE)
    	TANTQUE PAS HEnDehors(FACTURE_RE)
    				HLitSuivant(FACTURE_RE)
    	FIN
    Vu qu'il n'y a pas de code dedans ?

    Tatayo.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut
    je vous dit de ne pas se préoccuper de ce qu'il y a dans le sinon car cela fonctionne bien mais plutôt le SI.
    la réponse à votre question est : ça permet de récupérer le numéro de la facture et mettre dans la fiche FEN_comporte qui ajoute une ligne dans Table_comporte.

  6. #6
    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
    Effectivement, pour les FichierVersEcran j'ai raté le sinon (la faute à une indentation ratée...).
    Sinon je persiste, la boucle ne sert à rien vu qu'il n'y a pas de code dedans. A quoi bon boucler sur le fichier, si aucun traitement n'est fait sur le fichier en question dans la boucle ?
    En sortant de la boucle, quel est l'enregistrement courant de Facture_RE, vu que hEnDehors(facture_RE) est vrai ?

    Tatayo.

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    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 057
    Points : 9 396
    Points
    9 396
    Par défaut
    L'instruction Si BTN_sansNom1 n'a pas de sens... il faut l'enlever ... ou éclaircir l'intérêt de cette ligne. Si tu tiens à conserver cette ligne telle quelle, tu ne trouveras pas d'aide.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #8
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Citation Envoyé par tatayo Voir le message
    A quoi sert cette boucle:
    Code WinDev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    HLitPremier(FACTURE_RE)
    	TANTQUE PAS HEnDehors(FACTURE_RE)
    				HLitSuivant(FACTURE_RE)
    	FIN
    Bonjour,

    Apparemment, c'est SA manière de parcourir un fichier ou d'y faire une recherche.
    Cft l'autre discussion ouverte par sandaff sur les dates de péremption et le code final qu'il y a posté (message #11).
    Je viens d'y attirer son attention sur ce problème.

    Hemgé

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut
    Bonsoir!

    je vois bien que vous vous préoccupez de trop le SINON de mon algo alors que c'est le si qui est mon problème.
    je suis d'accord de retirer le SI BTN_SansNom1 ALORS mais c'est pour des solutions alternatives j'ai posée de question.

    pour la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    HLitPremier(FACTURE_RE)
    	TANTQUE PAS HEnDehors(FACTURE_RE)
    				HLitSuivant(FACTURE_RE)
    	FIN
    qui n'est pas un problème chez moi ici, je vais l'expliquer :
    sur ma facture achat ou vente, je crée la facture avant d'ajouter les produits dans la table Comporte(code_FACTURE_RE, code_PRODUIT, PAHT, PATTC, etc) pour ma facture achat et Contient(code_FACTURE_CLI, code_PRODUIT, PvHT, PvTTC, etc) pour ma facture vente.
    FACTURE_RE=facture fourniseur;FACTURE_CLI=facture client.

    Maintenant quand je clique sur ajouter une facture sur la fiche : FEN_Relation_FACTURE_RE_Comporte1 (facture achat) ; après avoir valider et en ajoutant les produits dans la table TABLE_Comporte ; je remarque que le champ FEN_Relation_FACTURE_RE_Comporte1.SC_Fiche.COL_Code_fac_re est vide et donc en ouvrant FEN_Fiche_Comporte pour l'ajout FEN_Fiche_Comporte.SC_Fiche.COMBO_Code_fac_re prend la valeur antérieure alors que la facture a déjà incrémenté de valeur.

    C'est pourquoi je parcours tout le fichier et à la sortie je fais le traitement que vous voyez.
    Soit on veut ajouter dans l'ancienne facture dont FEN_Relation_FACTURE_RE_Comporte1.SC_Fiche.COL_Code_fac_re n'est pas vide et FEN_Fiche_Comporte.SC_Fiche.COMBO_Code_fac_re=FEN_Relation_FACTURE_RE_Comporte1.SC_Fiche.COL_Code_fac_re..Valeur
    ou on veux ajouter dans l'enregistrement en cours alors SI FEN_Relation_FACTURE_RE_Comporte1.SC_Fiche.COL_Code_fac_re..Valeur="" ALORS
    FEN_Fiche_Comporte.SC_Fiche.COMBO_Code_fac_re..Valeur=FACTURE_RE.Code_fac_re

    Merci et bonne compréhension.
    Certains vont dire que vous auriez pu mettre hlitdernier(...) puis le traitement; oui c'est bon mais je le préfère comme ça.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut
    Merci Monsieur hemgé pour vos remarques dans la seconde partie notamment la gestion de date de péremptions!
    Seulement je vois pas de problème chez moi ici et je serais étonnée des bugs sur mon code car mon MCD et mon écran de saisie sont conformes à mon traitement.

  11. #11
    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
    Citation Envoyé par sandaff Voir le message
    certain vont dire que vous auriez pu mettre hlitdernier(...) puis le traitement; oui c'est bon mais je le préfère comme ça.
    Je pense que le jour où ton fichier contiendra un petit million de lignes tu changeras d'avis...

    Tatayo.

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

    Après plusieurs lectures du post j'ai du mal à comprendre ce qui ne va pas sauf que cela ne fonctionne pas comme tu veux.
    Tu appelles deux fois la fonction FichierVersEcran, est ce que ces appels doivent mettre à jour des fichiers différents ?
    Si oui, je pense qu'il faudrait indiqué le nom des fichiers en paramètre.

    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    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

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut
    bonsoir!
    je comprend votre inquiétude par rapport à la taille de fichier dans l'avenir.
    quand ce moment viendra je reverrez mes recherche car je me souviendrai que c'est mes recherches qui le ralentis.
    je signale encore que je travail ce code sur deux fichiers.
    mais fichierversecran() est fait sur un seul; le fichier PRODUIT et son rôle est de charger l'enregistrement sélectionné dans les champs de ma fiche d'ajout afin de les modifiés. et cela apres le clic sur le bouton modifier(BTN_sannom) qui n'a pas encore marché.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut
    j'ai fait une erreur plutot fichierversecran se fait sur Comporte.

  15. #15
    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
    Bonjour

    Si je comprend bien, dans le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    FichierVersEcran()
    SI BTN_SansNom1 ALORS
    	HLitRecherche(Comporte,Designation,FEN_Fiche_Comporte.SC_Fiche.COMBO_Designation)
    	FichierVersEcran()
    SINON
            FichierVersEcran()
    	...
    FIN
    ton problème est que tu ne passes jamais dans le code si la condition "BTN_SansNom1" égale à vrai et donc tojours dans le SINON.

    Je viens d'essayer cette condition et je n'ai jamais reussi à passer dans le cas ou la condition renverrais vrai, dans quel évènement as tu codé cela dans la fiche produit pour que cela fonctionne

    Bon courage
    ------------------------------------------------------------------------------------------------------------------------------------------
    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

  16. #16
    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
    Citation Envoyé par sandaff Voir le message
    je comprend votre inquiétude par rapport à la taille de fichier dans l'avenir.
    quand ce moment viendra je reverrez mes recherche car je me souviendrai que c'est mes recherches qui le ralentis.
    Donc tu préfères coder "à l'arrache" en te disant que tu penseras "plus tard" à reprendre le code pour le coder directement, quand les problèmes surviendront ?
    Drôle de méthode...

    Sinon pour ton bouton, quelle est la logique derrière le test "si btn_SansNom1" ? Qu'est-ce que tu cherches à tester précisément ?

    Tatayo.

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Points : 0
    Points
    0
    Par défaut
    Bonjour!
    je mis le code dans initialisation de la fenêtre Comporte.

    le rôle de bouton BTN_SansNom1 placé sur FEN_Relation_FACTURE_RE_Comporte1 permet de ramener sur la fiche comporte l’enregistrement sélectionné dans la table TABLE_Comporte puis le modifier.
    c'est vilain de supprimer et reprendre la saisie à chaque fois qu'on se trompe dans la table comporte.
    merci à l'avance!

Discussions similaires

  1. j'ai un problème de modification de ma table.
    Par sandaff dans le forum Windows
    Réponses: 1
    Dernier message: 16/05/2016, 04h24
  2. [vb6 et access] problème de modification de contenu de champ
    Par dj_tess dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/12/2005, 19h26
  3. [IShellLink] Problème de modification de raccourci
    Par Alcatîz dans le forum Windows
    Réponses: 2
    Dernier message: 17/11/2005, 09h39
  4. Réponses: 19
    Dernier message: 28/10/2005, 17h29
  5. [débutant] Problème JSplitPane (modif :InternalFrame)
    Par pingoui dans le forum Agents de placement/Fenêtres
    Réponses: 61
    Dernier message: 03/09/2004, 17h01

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