OVH Cloud OVH Cloud

Recup. du contenu d'une multi-selection dans une table

3 réponses
Avatar
Yves Bourhis
Bonjour,

Je pense que ma question va vous paraître triviale, mais je n'arrive pas à récupérer simplement le contenu des lignes sélectionnées dans une table fichier "multi-sélection".

// La méthode que j'ai trouvé est de parcourir mes sélections par :
MemCrée("NumLigSel")
POUR i=1 A TableSelectOccurrence(Table_SelectionEtudiants)
MemAjoute("NumLigSel",TableSelect(Table_SelectionEtudiants,i),TableSelect(Table_SelectionEtudiants,i))
FIN
// Puis je refais une boucle pour traiter mes valeurs :
POUR i= 1 a MemOccurence("NumLigSel")
Table_SelectionEtudiants = MemRécupère("NumLigSel",i)
// traitement des données contenues dans la ligne
FIN

Du coup, au retour, j'ai perdu ma sélection... et de toutes façons ça me semble un peu lourd !

Est-ce que quelqu'un peut m'éclairer ?

Merci d'avance.

3 réponses

Avatar
Romain PETIT
Il se trouve que Yves Bourhis a formulé :
Bonjour,



Bonjour,

Je pense que ma question va vous paraître triviale, mais je n'arrive pas à
récupérer simplement le contenu des lignes sélectionnées dans une table
fichier "multi-sélection".


[...]
Du coup, au retour, j'ai perdu ma sélection... et de toutes façons ça me
semble un peu lourd !




Oui, ca l'est... la zone mémoire est inutile (sauf si elle te sert
ailleurs ?)

Si je ne me trompe pas, le code ci-dessous devrait faire l'affaire...

*******************************
sNomTable est une chaine = "Table_SelectionEtudiants"
eNbLignesEnSelection est un entier
c,d est un entier
sLigneSélectionnée est une chaine
eNbLignesEnSelection=TableSelectOccurrence(sNomTable)

SI eNbLignesEnSelection>0 ALORS
POUR c=1 A eNbLignesEnSelection
// d= index de la cième ligne sélectionnée
d=TableSelect(sNomTable, c)
sLigneSélectionnée = {sNomTable, indchamp}[d]
trace(sLigneSélectionnée)
FIN
FIN
*******************************
A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
STASZEWSKI André
Salut

Utilise la cde TableSelectOccurrence
Exemple:
// trace les n° des éléments sélectionnés

i est un entier

NbSelectionne est un entier = TableSelectOccurrence("TABLE1")

POUR i=1 A NbSelectionne

Trace("Elément sélectionné : "+TableSelect("TABLE1",i))

FIN

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


"Yves Bourhis" a écrit dans le
message de news: dgeglt$5is$
Bonjour,

Je pense que ma question va vous paraître triviale, mais je n'arrive pas à


récupérer simplement le contenu des lignes sélectionnées dans une table
fichier "multi-sélection".

// La méthode que j'ai trouvé est de parcourir mes sélections par :
MemCrée("NumLigSel")
POUR i=1 A TableSelectOccurrence(Table_SelectionEtudiants)



MemAjoute("NumLigSel",TableSelect(Table_SelectionEtudiants,i),TableSelect(Ta
ble_SelectionEtudiants,i))
FIN
// Puis je refais une boucle pour traiter mes valeurs :
POUR i= 1 a MemOccurence("NumLigSel")
Table_SelectionEtudiants = MemRécupère("NumLigSel",i)
// traitement des données contenues dans la ligne
FIN

Du coup, au retour, j'ai perdu ma sélection... et de toutes façons ça me


semble un peu lourd !

Est-ce que quelqu'un peut m'éclairer ?

Merci d'avance.


Avatar
Yves Bourhis
Romain PETIT a écrit :
*******************************
sNomTable est une chaine = "Table_SelectionEtudiants"
eNbLignesEnSelection est un entier
c,d est un entier
sLigneSélectionnée est une chaine
eNbLignesEnSelection=TableSelectOccurrence(sNomTable)

SI eNbLignesEnSelection>0 ALORS
POUR c=1 A eNbLignesEnSelection
// d= index de la cième ligne sélectionnée
d=TableSelect(sNomTable, c)
sLigneSélectionnée = {sNomTable, indchamp}[d]
trace(sLigneSélectionnée)
FIN
FIN
*******************************



Merci beaucoup, je n'avais effectivement pas trouvé la syntaxe pour récupérer le contenu d'une cellule ( {sNomTable}[d,2] ) !

Bon week-end.