PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → BOUCLE sur Table
BOUCLE sur Table
Iniciado por Saliou NDIAYE, 22,ago. 2020 14:49 - 6 respuestas
Miembro registrado
12 mensajes
Publicado el 22,agosto 2020 - 14:49
Bonjour à tous,
Je voudrais faire une boucle sur une table.
Ma table contient 6 lignes et le contenu de la première colonne doit être enregistrer dans une base.
Je voudrais que la boucle parcours la table et n'enregistre que les lignes non vide.
En comptant sur votre aide.
Merci.
Miembro registrado
2.682 mensajes
Publicado el 22,agosto 2020 - 15:12
Bonjour,

POUR TOUTE LIGNE DE devrait répondre à votre besoin.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
12 mensajes
Publicado el 22,agosto 2020 - 16:10
pour i=1 a tableoccure(table1)
hraz()
hajoute()


fin
Publicado el 22,agosto 2020 - 22:54
Merci pour vos réponses.
Comment faire pour arrêter la boucle si la ligne de la table est vide.
Miembro registrado
121 mensajes
Publicado el 23,agosto 2020 - 09:01
Bonjour,

POUR TOUTE LIGNE nligne de matable

si matable.macolone[nligne] <> "" alors
traitement
fin

fin

--
Bon dev

Thibault
Miembro registrado
4.363 mensajes
Publicado el 23,agosto 2020 - 11:51
Bonjour,
// Résumé : Renvoie la première ligne vide d'un champ table
// Syntaxe :
//[ <Résultat> = ] ChercherLigneVide (<chMaTable> est champ)
//
// Paramètres :
// chMaTable (champ) : Champ concerné
// Valeur de retour :
// entier : n° de la première ligne non vide, 0 s'il n'y a pas de lignes vides

FONCTION ChercherLigneVide(chMaTable est Champ) :entier
nLigne est un entier
POUR TOUTE LIGNE nLigne de chMaTable
SI EstVide(nLigne) ALORS
RENVOYER nLigne
FIN
FIN
RENVOYER Faux


// Résumé : Détermine si une ligne est vide
// Syntaxe :
//[ <Résultat> = ] EstVide (<nLigne>)
//
// Paramètres :
// nLigne : N° de ligne à tester
// Valeur de retour :
// booléen :Vrai si la ligne est vide, Faux sinon
//
// Remarque :
// Dans le cas d'un champ table entièrement composé de colonne "Numériques", cette fonction considère une ligne de 0 comme vide
//
Procedure EstVide(nLigne)
nNoCol est un entier
chColonne est Champ

POUR nNoCol=1 _À_ TableOccurrence(TABLE_SansNom1,toColonne)
chColonne<-TableEnumèreColonne(TABLE_SansNom1,nNoCol)
Trace(chColonne..Nom)
SELON EstNumérique(chColonne)
CAS Vrai
SI chColonne[nLigne]<>0 ALORS
RENVOYER Faux
FIN
CAS Faux
SI chColonne[nLigne]<>"" ALORS
RENVOYER Faux
FIN
FIN
FIN
RENVOYER Vrai


Les explications sont dans le commentaire

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
124 mensajes
Publicado el 23,agosto 2020 - 13:50
saliou a écrit :
Merci pour vos réponses.
Comment faire pour arrêter la boucle si la ligne de la table est vide.


BREAK est ton ami pour terminer une boucle...

--
Peter Holemans
www.mcs2.eu
www.pixontri.eu