PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → tablesupprime
tablesupprime
Iniciado por atrioux, jul., 12 2005 7:11 PM - 10 respostas
Publicado em julho, 12 2005 - 7:11 PM
voici le code

SI OuiNon(chaineinfo) ALORS

POUR compteur = 1 A nbrselect

numselect = TableSelect(Table,1)

TableSupprime(Table,numselect)

FIN

FIN



probleme :

=======

si les lignes selectionnees n'apparaissent pas toutes a l'ecran

cela ne fonctionne pas

quel solution?



ma table est une table alimentée par un fichier en multiselection
Publicado em julho, 12 2005 - 2:25 PM
Salut,

en effet, pour les tables fichiers, cela ne fonctionneras pas.
Je n'ai pas essayé, mais voici ce que je te propose d'essayer.

Il faut forcer la table a descendre

SI OuiNon(chaineinfo) ALORS
POUR compteur = 1 A nbrselect
numselect = TableSelect(Table,1)
TablePosition(Table,numselect)
TableSupprime(Table,numselect)
FIN
FIN

Mathieu


"Arnaud TRIOUX" <atrioux@horloges-huchez.fr> a écrit dans le message de
news: 42d3d2df@news.pcsoft.fr...

voici le code

SI OuiNon(chaineinfo) ALORS

POUR compteur = 1 A nbrselect

numselect = TableSelect(Table,1)

TableSupprime(Table,numselect)

FIN

FIN



probleme :

=======

si les lignes selectionnees n'apparaissent pas toutes a l'ecran

cela ne fonctionne pas

quel solution?



ma table est une table alimentée par un fichier en multiselection

Publicado em julho, 12 2005 - 7:49 PM
bonjour

quand tu supprimes un élément de ta table, il faut faire évoluer ton compteur car le nombre d'occurrence de la table varie forcément
Publicado em julho, 12 2005 - 8:53 PM
POUR compteur = nbrselect a 1 step -1
numselect = TableSelect(Table,1)
TableSupprime(Table,numselect)
FIN


--
Cordialement
Christophe Charron

Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or

Tel : 0 437 499 107
Fax : 0 437 499 105
mailto:developpement@prologiq.fr

"Arnaud TRIOUX" <atrioux@horloges-huchez.fr> a écrit dans le message de
news:42d3d2df@news.pcsoft.fr...

voici le code

SI OuiNon(chaineinfo) ALORS

POUR compteur = 1 A nbrselect

numselect = TableSelect(Table,1)

TableSupprime(Table,numselect)

FIN

FIN



probleme :

=======

si les lignes selectionnees n'apparaissent pas toutes a l'ecran

cela ne fonctionne pas

quel solution?



ma table est une table alimentée par un fichier en multiselection

Publicado em julho, 13 2005 - 9:56 AM
A mon avis le probleme se situe surtout dans le fait ou tu supprime toujours la ligne 1 !!!!!

POUR Compteur = 1 A NbSelect Pas 1
NumSelect = TableSelect(MaTable,Compteur)
TablePosition(MaTable,NumSelect)
TableSupprime(MaTable,NumSelect)
FIN

A mon avis cela devrait mieux fonctionner
Publicado em julho, 13 2005 - 11:11 AM
T'as essayé ma solution, de mon côté, elle fonctionne très bien,par contre,
il faut ajouté une ligne de code qui permet de désélectionner la ligne qui
sera supprimée. C'est bizard que cela ne se fasse pas automatiquement mais
bon...

Voici ma solution:
POUR compteur = 1 A nbrselect
numselect = TableSelect(Table,1)
TableSelectMoins(Table,numselect)
TablePosition(Table,numselect)
TableSupprime(Table,numselect)
FIN

Donnes moi des nouvellles.

Mathieu
Publicado em julho, 13 2005 - 11:19 AM
Merci pour vos suggestions mais malheureusement aucune ne resout mon
probleme

je reexplique mon probleme
===================
j'ai une table qui affiche a l'ecran 10 lignes
je selectionne la 1ere et la 20 eme et je demande une suppression
seule la ligne selectionnee visible a l'ecran cad la premiere disparait
la 20 eme n'est jamais effacee
par contre si je supprime la 1 et la 3 cela fonctionne car les 2
apparaissent a l'ecran

Merci pour vos suggestions

"Arnaud TRIOUX" <atrioux@horloges-huchez.fr> a écrit dans le message de
news: 42d3d2df@news.pcsoft.fr...

voici le code

SI OuiNon(chaineinfo) ALORS

POUR compteur = 1 A nbrselect

numselect = TableSelect(Table,1)

TableSupprime(Table,numselect)

FIN

FIN



probleme :

=======

si les lignes selectionnees n'apparaissent pas toutes a l'ecran

cela ne fonctionne pas

quel solution?



ma table est une table alimentée par un fichier en multiselection

Publicado em julho, 13 2005 - 11:26 AM
bonjour,

J'ai l'impression que l'on a un peu oublié que l'on ne pouvait agir que
sur les enregistrement affichés d'une table fichier.
jean-daniel


Dans son message précédent, Aurélien MACHABERT a écrit :


A mon avis le probleme se situe surtout dans le fait ou tu supprime toujours
la ligne 1 !!!!!

POUR Compteur = 1 A NbSelect Pas 1
NumSelect = TableSelect(MaTable,Compteur)
TablePosition(MaTable,NumSelect)
TableSupprime(MaTable,NumSelect)
FIN

A mon avis cela devrait mieux fonctionner


--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Publicado em julho, 13 2005 - 11:32 AM
Vous avez tout a fait raison
le probleme vient bien du fait que ces fonctions agissent uniquement sur les
enregistrements affichés
mais alors comment faire?


"jean daniel" <ns_jean-daniel.hoarau@laposte.net> a écrit dans le message de
news: mn.6a367d571d383345.26715@laposte.net...

bonjour,

J'ai l'impression que l'on a un peu oublié que l'on ne pouvait agir que
sur les enregistrement affichés d'une table fichier.
jean-daniel


Dans son message précédent, Aurélien MACHABERT a écrit :


A mon avis le probleme se situe surtout dans le fait ou tu supprime
toujours
la ligne 1 !!!!!

POUR Compteur = 1 A NbSelect Pas 1
NumSelect = TableSelect(MaTable,Compteur)
TablePosition(MaTable,NumSelect)
TableSupprime(MaTable,NumSelect)
FIN

A mon avis cela devrait mieux fonctionner

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Publicado em julho, 13 2005 - 12:43 PM
Autant pour moi j'ai oublier que dans mes traitements je procéder ainsi

J'ai une table mémoire dans laquelle je récupère les numéros de lignes à supprimer dans ma table !!!!

Ensuite, je parcours cette table pour supprimer toutes les lignes de la manière suivante

POUR i = 1 a TableOccurence(MaTableMemoire)
NumASupprimer = MaTableMemoire[i]
TableSelectPlus(MaTableEnSuppression,NumASupprimer)
//** Recherche de l'enregistrement a supprimé dans le fichier
//** L'utilisation de tableenregistre actualise la table et là ca ne marcherait plus
HLitRecherchePremier(MonFichierLié,MaClé,MaTableEnSuppression.MaColonneClé)
HSupprime(MonFichierLié)
FIN
TableAffiche(MaTableEnSuppression,TaDébut)


Normalement ce code doit marché si je ne me suis pas tromper !!!
Publicado em julho, 19 2005 - 7:44 PM
Merci pour tout

Cette solution fonctionne très bien
je ne sais pas comment tu as eu l'idee de deselectionner la ligne avant
suppression mais en tout cas ca a le merite de fonctionner
Bonne continuation

Bon dev.

"Mathieu Kurth" <mkurth@difemax.com> a écrit dans le message de news:
42d50858$1@news.pcsoft.fr...

T'as essayé ma solution, de mon côté, elle fonctionne très bien,par
contre,
il faut ajouté une ligne de code qui permet de désélectionner la ligne qui
sera supprimée. C'est bizard que cela ne se fasse pas automatiquement
mais
bon...

Voici ma solution:
POUR compteur = 1 A nbrselect
numselect = TableSelect(Table,1)
TableSelectMoins(Table,numselect)
TablePosition(Table,numselect)
TableSupprime(Table,numselect)
FIN

Donnes moi des nouvellles.

Mathieu