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 :

saut d'un enregistrement lors de la suppression des lignes d'un champ table Windev [WD20]


Sujet :

WinDev

  1. #1
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut saut d'un enregistrement lors de la suppression des lignes d'un champ table Windev
    Bonjour Chers DEV
    j'ai un soucis au parcours des lignes de mon champs TABLE_REQ_Tous_les_dépotages.
    J'ai remarqué qu'a chaque fois un enregistrement qui devrais être effacer reste dans mon tableau;
    je vous sollicite donc pour me donner un coup de pousse...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    POUR j=1 A TableauOccurrence(gtabtriepost)
    	POUR TOUTE LIGNE DE TABLE_REQ_Tous_les_dépotages
    		SI gtabtriepost[j]=TABLE_REQ_Tous_les_dépotages.COL_IDStationdedepotage_St ALORS
    	 				TableSupprime(TABLE_REQ_Tous_les_dépotages)	
    		FIN 
    	FIN
    FIN

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Avec un TableAffiche en sortie, ça devrait résoudre le problème.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour Voroltinquo
    j'ai essayer, ça na pas marché...

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 158
    Points : 9 107
    Points
    9 107
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    POUR j=1 A TableauOccurrence(gtabtriepost)
    POUR k = TABLE_REQ_Tous_les_dépotages..occurence _à_ 1 pas -1
    SI gtabtriepost[j]=TABLE_REQ_Tous_les_dépotages[k].COL_IDStationdedepotage_St ALORS
    TableSupprime(TABLE_REQ_Tous_les_dépotages)
    FIN
    FIN
    FIN
    et comme ça ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 338
    Points : 9 593
    Points
    9 593
    Par défaut
    J'vais peut-être dire une connerie, mais tu fais une boucle POUR TOUT sur TABLE_REQ et à l'interieur de cette boucle tu fais une suppression, du coup, tu sautes une ligne, forcément.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 158
    Points : 9 107
    Points
    9 107
    Par défaut
    Hello Jon,

    C'est pour cela que j'ai inversé le sens de parcours de la 2ème boucle.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 038
    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 038
    Points : 9 347
    Points
    9 347
    Par défaut
    C'est effectivement un grand classique. Quand on doit détruire des lignes dans une table, c'est beaucoup plus simple à faire en lisant la table en question 'à l'envers'.

    Petite correction sur la ligne 4 du code de Frenchsting , il faut préciser l'indice de la ligne qu'on supprime :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    POUR j=1 A TableauOccurrence(gtabtriepost)
      POUR k = TABLE_REQ_Tous_les_dépotages..occurence _à_ 1 pas -1
        SI gtabtriepost[j]=TABLE_REQ_Tous_les_dépotages[k].COL_IDStationdedepotage_St ALORS
          TableSupprime(TABLE_REQ_Tous_les_dépotages,k)
        FIN
      FIN
    FIN
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    En fait cela revient à remplir le champ table en modifiant la condition WHERE de la requête initiale avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Station.IDStation NOT in ({pStation})
    en initialisant la requête comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sParam est chaine
     
    sParam=TableauVersChaine(gtabtriepost,";")
    REQ_Tous_les_dépotages.pSation=sParam
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 338
    Points : 9 593
    Points
    9 593
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Hello Jon,

    C'est pour cela que j'ai inversé le sens de parcours de la 2ème boucle.
    T'as répondu pendant que je tapais. Je n'avais pas vu ta réponse.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  10. #10
    Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    frenchsting
    Merci Mon code Marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    POUR j=1 A TableauOccurrence(gtabtriepost)	
    	POUR K = TableOccurrence(TABLE_REQ_Tous_les_dépotages) A 1 PAS -1
    		Info("si "+gtabtriepost[j]+" ="+TABLE_REQ_Tous_les_dépotages[K].COL_IDStationdedepotage_St)
    		//info ("supprime si "+gtabtriepost[j]=TABLE_REQ_Tous_les_dépotages[k].COL_IDStationdedepotage_St+" "+TABLE_REQ_Tous_les_dépotages[k].COL_CommuneStation)
    		SI Val(gtabtriepost[j])=Val(TABLE_REQ_Tous_les_dépotages[K].COL_IDStationdedepotage_St) ALORS
    			TableSupprime(TABLE_REQ_Tous_les_dépotages,K)
    		FIN
    	FIN
    FIN

  11. #11
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 158
    Points : 9 107
    Points
    9 107
    Par défaut
    Citation Envoyé par Jon Shannow Voir le message
    T'as répondu pendant que je tapais. Je n'avais pas vu ta réponse.
    En même temps, tu avais donné la raison du pourquoi ;-)

    @ Voroltinquo, merci de la correction de cet oubli
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  12. #12
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    La correction de l'oubli de ligne, c'est tbc92, moi c'est la modification de la requête.
    En effet pourquoi charger une requête et supprimer des élément de cette requête a posteriori, alors que tout pourrait se faire dans la requête d'autant plus que tout est prêt (les éléments à supprimer sont déjà connus et regroupés dans un tableau)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  13. #13
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 158
    Points : 9 107
    Points
    9 107
    Par défaut
    Oui, tu as raison.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  14. #14
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 174
    Points : 287
    Points
    287
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    En effet pourquoi charger une requête et supprimer des élément de cette requête a posteriori, alors que tout pourrait se faire dans la requête d'autant plus que tout est prêt (les éléments à supprimer sont déjà connus et regroupés dans un tableau)
    Bonjour;

    Tout dépend des cas, peut être le tableau est alimenté après le chargement de la requête pour un travail donné, ou juste une vérification visuelle ...etc, et le code de suppression dans un bouton.

    Bon Dev.

  15. #15
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Rien n’empêche d'initialiser la requète avec Null en paramètre et de passer le paramètre idoine lors de l'appui sur le bouton
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

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

Discussions similaires

  1. [AC-2007] Erreur lors de la suppression des enregistrements
    Par onesat dans le forum Access
    Réponses: 3
    Dernier message: 18/05/2013, 01h17
  2. Réponses: 4
    Dernier message: 22/07/2010, 16h46
  3. Lors de la suppression de lignes, certaines lignes sont "oubliées"
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/12/2008, 13h47
  4. Erreur lors de la suppression de lignes vides
    Par Lechette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/04/2008, 11h56
  5. Problème lors de la suppression de lignes
    Par Tintou dans le forum Langage SQL
    Réponses: 7
    Dernier message: 04/07/2007, 10h09

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