OVH Cloud OVH Cloud

[WD10] Avez-vous essayé ?

12 réponses
Avatar
STASZEWSKI André
Bonsoir

J'ai un comportement étrange et inquiétant avec une suppression multiple
dans une table fichier en utilisant TableSupprime()

Si vous utilisez cette commande pour supprimer un ensemble de ligne
sélectionnées dans une table fichier multi-sélection, vérifiez ceci :

Créez 5 nouveaux enregistrements avec un libellé simple :
A
B
C
D
E

Ensuite tout en maintenant la touche Ctrl enfoncée, cliquez successivement
dans la table sur les 3 lignes suivantes : E, A, C
Cela donne :
A 2
B
C 3
D
E 1

Cliquez enfin sur le bouton de supression donc le code traditionnel d'écrit
dans l'aide de WD est :

// Supprimer toutes les lignes sélectionnées dans la table

i est un entier

NbSelection est un entier = TableSelectOccurrence(TABLE)

POUR i = NbSelection A 1 PAS -1

TableSupprime(TABLE_CArrivée,TableSelect(TABLE,i))

FIN

Le résultat affiché dans la table devrait être :
B
D

Et bien chez moi le résultat est :
A
B

C'est très inquiétant car D a été supprimé sans mon consentement tandis que
A ne la pas été alors qu'il aurait dû !
Je précise que si on sélectionne les lignes dans l'ordre, par ex : A, C, E
le résultat sera bien B,D donc correct.

J'ai aussi essayé avec POUR TOUT ELEMENT SELECTIONNE DANS TABLE mais c'est
pareil...

Quelqu'un saurait comment contourner ce problème ?

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph

2 réponses

1 2
Avatar
STASZEWSKI André
bonsoir

J'ai créé un nouveau projet et ça ne fonctionne toujours pas !
Toujours les mêmes symptômes!
Je t'ai envoyé mon projet (tout simple) pour que tu le test chez toi....

S'il y a des amateurs pour tester mon projet et voir ce qui cloche, je leur
en serait vraiment reconnaissant !
Merci d'avance.

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph

"Réal Phil" a écrit dans le message de news:

J'essairai ce WE avec un projet nouveau, et le code ci-dessous...
ps: t'a regardé la BDR pour ton pb de fen ?

--
Cordialement,
André STASZEWSKI


===================
J'ai bien vu comment ça fonctionne dans la BDR....
Ma réponse d'hier ne s'est jamais rendue ;-(
Voir la nouvelle réponse dans la zone en question.

Bye!

Réal Phil
Avatar
STASZEWSKI André
Bonsoir,

Après avoir concentrer tous mes efforts sur ce problème,
voici la solution qu'il faut adopter pour que ça fonctionne :

SI OuiNon(Non,"Vous êtes sur le point de supprimer le ou les
enregistrement(s) sélectionné(s) dans la table."+RC+...
"- Etes-vous certain(e) de vouloir faire cela ?") ALORS

k est un entier = TableSelectOccurrence(TABLE)
tabLigneSelect est un tableau de k entiers

i,j est un entier
j=1
POUR TOUTE LIGNE SELECTIONNEE i DE TABLE
tabLigneSelect[j]=i
j++
FIN
TableauTrie(tabLigneSelect,ttDécroissant)
POUR j = 1 A k
TableSupprime(TABLE,tabLigneSelect[j])
FIN

FIN

PS: WD mémorise le n° de ligne cliqué dans l'ordre que l'on clic.
--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph

"STASZEWSKI André" a écrit dans le message de news:
45a55e8f$0$27380$
Bonsoir

J'ai un comportement étrange et inquiétant avec une suppression multiple
dans une table fichier en utilisant TableSupprime()

Si vous utilisez cette commande pour supprimer un ensemble de ligne
sélectionnées dans une table fichier multi-sélection, vérifiez ceci :

Créez 5 nouveaux enregistrements avec un libellé simple :
A
B
C
D
E

Ensuite tout en maintenant la touche Ctrl enfoncée, cliquez successivement
dans la table sur les 3 lignes suivantes : E, A, C
Cela donne :
A 2
B
C 3
D
E 1

Cliquez enfin sur le bouton de supression donc le code traditionnel


d'écrit
dans l'aide de WD est :

// Supprimer toutes les lignes sélectionnées dans la table

i est un entier

NbSelection est un entier = TableSelectOccurrence(TABLE)

POUR i = NbSelection A 1 PAS -1

TableSupprime(TABLE_CArrivée,TableSelect(TABLE,i))

FIN

Le résultat affiché dans la table devrait être :
B
D

Et bien chez moi le résultat est :
A
B

C'est très inquiétant car D a été supprimé sans mon consentement tandis


que
A ne la pas été alors qu'il aurait dû !
Je précise que si on sélectionne les lignes dans l'ordre, par ex : A, C, E
le résultat sera bien B,D donc correct.

J'ai aussi essayé avec POUR TOUT ELEMENT SELECTIONNE DANS TABLE mais c'est
pareil...

Quelqu'un saurait comment contourner ce problème ?

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph




1 2