S'agit il d'un Bug de WD14 ???????

Posté par gino le 9/6/2011 0:11:38
Bonjour

Ce problème me chagrinait un peu alors je me suis livré à des petits tests

J'ai créé une fenêtre qui comporte 2 champs Table
TABLE_T_Données (3 colonnes) qui contient les enregistrement d'un fichier de données FIC (7 Enregistrements de 3 champs chacuns Donnée1 Donnée2 Donnée3)
TABLE_LigneSelect rempli par programmation contenant une une seule colonne

Les données contenues dans le FIC sont les suivantes

D1 A 1
D2 A 2
D3 A 1
D4 A 2
D5 A 1
D6 B 2
D7 A 1


Un bouton BtnRécup permet de récupérer les données des lignes sélectionnées de TABLE_T_Données et de les insérer dans TABLE_LigneSelect

Le code associé à ce bouton est le suivant

TableSupprimeTout(TABLE_LigneSelect)
POUR TOUTE LIGNE SELECTIONNEE nn DE TABLE_T_Données
       TableAjouteLigne(TABLE_LigneSelect,TABLE_T_Données.COL_Donnée_1[nn])
FIN



Les 7 lignes sont visibles à l'écran

Si je sélectionne plusieurs lignes et que je clique sur le bouton BtnRécup alors les bonnes lignes sont "transcrites" dans TABLE_LigneSelect

Un bouton "BtnFiltre" est associé au code suivant

    TableActiveFiltre(TABLE_T_Données.COL_Donnée_3,filtreEgal,"1")
    TableActiveFiltre(TABLE_T_Données.COL_Donnée_2,filtreEgal,"A")



Dans la table TABLE_T_Données ne sont alors visible que 4 lignes
Si je sélectionne plusieurs lignes et que je clique sur le bouton BtnRécup alors les bonnes lignes sont "transcrites" dans TABLE_LigneSelect


Le clou du spectacle arrive, attachez vos ceintures :

Je réduit la hauteur de TABLE_T_Données de façon à ne voir que 2 lignes au maximum et je répète les opérations ci dessus
Je sélectionne D1, D5 et D7
Btn_Récup = OK j'ai bien D1, D5 et D7 dans TABLE_LigneSelect

Btn_Filtre = OK j'ai D1, D3, D5 et D7 dans TABLE_T_Données

Je sélectionnée D1, D5 et D7

Btn_Récup
Dans TABLE_LigneSelect j'ai D1,D3, D7

ligne contenant D3 est considérée comme ligne sélectionnée alors qu'elle n'a jamais été sélectionnée
ligne contenant D5 est considérée comme ligne non sélectionnée alors qu'elle était sélectionnée

Je vous laisse imaginer le m.... quand il y a 500 lignes sélectionnées et que l'on fait un traitement de mise à jour sur les enregistrements correspondant aux lignes sélectionnées : un carnage !!


Elle est pas belle la boulette ???

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=20&topic_id=6576&post_id=25824