Il est fréquent de vouloir supprimer toutes les lignes d’une table dont une colonne correspond à une valeur donnée.
Voici une petite procédure générique qui devrait pouvoir vous aider.
Il vous suffit donc de passer en paramètre à la procédure le nombre de la table, le nom de la colonne et la valeur (indiquant que la ligne est à supprimer).
La procédure vous renverra en retour le nombre de lignes qui ont été supprimer à l’aide de cette fonction.
Procédure :
PROCEDURE fctTableColonneSupValeur_ent( LOCAL _chaTable,LOCAL _chaColonne,LOCAL _chaValeur)
chaTableColonne est une chaîne = _chaTable + « . » + _chaColonne
entNbLigneSup est un entier = 0POUR entIndice = {_chaTable,indChamp}..Occurrence A 1 PAS -1
SI {chaTableColonne,indChamp}[entIndice] <> _chaValeur ALORS CONTINUER
TableSupprime({_chaTable,indChamp}..Nom,entIndice)
entNbLigneSup++
FINRENVOYER entNbLigneSup
Exemple d’appel à la procédure :
fctTableColonneSupValeur_ent(Table_Res..Nom ,Col_Int..Nom,Faux)
Source: WDLab