PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Problème tableselectplus
Problème tableselectplus
Iniciado por tcoiscault, 07,oct. 2004 15:55 - 10 respuestas
Publicado el 07,octubre 2004 - 15:55
Voici mon problème:

j'ai créé une table avec une colonne interrupteur pour cocher les utilisateurs concernés par une impression.

Or lorsque j'utilise tableselectplus, mon interrupteur est automatiquement décoché alors qu'il l'était coché auparavant.

Je ne peux pas utiliser ma_table[indice] pour me positionner sur la ligne car le nombre d'enregistrements présents dépassent le nombre de lignes affichées à l'écran. Je dois donc absolument utiliser TableSelectPlus.

Ca fait maintenant deux jours que je me casse la tête, j'ai vraiment besoin d'un petit coup de main.

Merci d'avance.
Publicado el 07,octubre 2004 - 16:50
i = la valeur que tu veux selectionner
tempB est un booleen

tempB = ta_table.champ_inter[i]
TableSelect(ta_table,i)
si ta_table.champ_inter[i] <> tempB alors ta_table.champ_inter[i] = tempB



"Tony COISCAULT" <tcoiscault@free.fr> a écrit dans le message de news: 41652591@news.pcsoft.fr...


Voici mon problème:

j'ai créé une table avec une colonne interrupteur pour cocher les utilisateurs concernés par une impression.

Or lorsque j'utilise tableselectplus, mon interrupteur est automatiquement décoché alors qu'il l'était coché auparavant.

Je ne peux pas utiliser ma_table[indice] pour me positionner sur la ligne car le nombre d'enregistrements présents dépassent

le nombre de lignes affichées à l'écran. Je dois donc absolument utiliser TableSelectPlus.

Ca fait maintenant deux jours que je me casse la tête, j'ai vraiment besoin d'un petit coup de main.

Merci d'avance.
Publicado el 07,octubre 2004 - 17:11
Est-ce que l'interrupteur est en première colonne, si oui essayes d'insérer
une colonne avant et la rendre invisible, j'ai rencontré un PB de ce genre
mais en WD5, mais pas encore en WD8
yves


"Tony COISCAULT" <tcoiscault@free.fr> a écrit dans le message de news:
41652591@news.pcsoft.fr...


Voici mon problème:

j'ai créé une table avec une colonne interrupteur pour cocher les

utilisateurs concernés par une impression.

Or lorsque j'utilise tableselectplus, mon interrupteur est automatiquement

décoché alors qu'il l'était coché auparavant.

Je ne peux pas utiliser ma_table[indice] pour me positionner sur la ligne

car le nombre d'enregistrements présents dépassent le nombre de lignes
affichées à l'écran. Je dois donc absolument utiliser TableSelectPlus.

Ca fait maintenant deux jours que je me casse la tête, j'ai vraiment

besoin d'un petit coup de main.

Merci d'avance.
Publicado el 07,octubre 2004 - 17:20
"Tony COISCAULT" <tcoiscault@free.fr> wrote in
news:41653eb3@news.pcsoft.fr:


Merci pour la réponse , cependant cette méthode ne fonctionne
malheureusement pas. En effet ma table affiche 16 ligne sur mon écran
et dès que j'arrive au 17ème enregistrement j'ai une erreur qui me dit
que je ne peux travailler que sur les enregistrements visibles...
C'est désespérant....




C'est parceque ta table est une table fichier et que tu peux accéder
qu'aux enregistrements visibles... Si c'est si important fait une table
mémoire et tu saura accéder à toutes tes lignes du tableau.

C'est la première solution qui me vient à l'esprit, il y en a p-e
d'autres.

A+

--
N. Kevin
Publicado el 07,octubre 2004 - 17:43
Merci pour la réponse , cependant cette méthode ne fonctionne malheureusement pas. En effet ma table affiche 16 ligne sur mon écran et dès que j'arrive au 17ème enregistrement j'ai une erreur qui me dit que je ne peux travailler que sur les enregistrements visibles...
C'est désespérant....
Publicado el 07,octubre 2004 - 17:44
Merci pour la réponse, je viens d'essayer ta méthode mais cela ne fonctionne pas non plus.. une autre idée peut-être?
Publicado el 07,octubre 2004 - 18:08
si c'est une table fichier essaie un tableenregistre apres "si ta_table.champ_inter[i] <> tempB ...."
sinon les données sont perdues au passage à la ligne suivante

"Tony COISCAULT" <tcoiscault@free.fr> a écrit dans le message de news: 41653eb3@news.pcsoft.fr...

Merci pour la réponse , cependant cette méthode ne fonctionne malheureusement pas. En effet ma table affiche 16 ligne sur mon

écran et dès que j'arrive au 17ème enregistrement j'ai une erreur qui me dit que je ne peux travailler que sur les
enregistrements visibles...
C'est désespérant....


Publicado el 07,octubre 2004 - 18:50
Ta table est-elle mémoire ou fichier ???

Si j'en crois ton mail je crois que tu mixes une table fichier et une colonne avec un interrupteur en colonne "mémoire" pour l'impression. C'est alors normal qu'il disparaisse quand tu le coches et que tu manies ne serait-ce que l'ascenseur : ta colonne n'est pas un champ calculé

Un seul moyen : aller écrire dans le fichier en question c'est à dire que ta colonne mémoire ne l'est plus. Il faut modifier la description de ton fichier !

Sinon il faut que tu copies tout (ou une partie de ton fichier) dans une table mémoire et que tu mettes à nouveau ta colonne "interrupteur". Là cela fonctionnera car tous tes champs seront en mémoire.

NE PAS CONFONDRE TABLE FICHIER ET TABLE MEMOIRE !!!! L'une contient apparemment en mémoire que des rubriques existantes du fichier et tu ne peux travailler que sur les rubriques visibles (celles mises en mémoire je suppose mais là il faudrait demander à un spécialiste ce que je ne suis pas ! ) -> quand tu manipules l'ascenseur les données "arrivent" par paquet cela permet ne ne pas saturer la mémoire (imagine une table fichier sur plusieurs millions de lignes ton PC serait à genoux, l'autre (la mémoire)peut contenir (attention à la taille cependant et à la rapidité surtout si tu décides de rappatrier plusieurs millions de lignes :) tout ce que tu veux, que tu peux modifier comme tu veux y compris par programmation car tout le contenu de la table est en mémoire

Si je t'ai aidé ....

Michel.
Publicado el 07,octubre 2004 - 19:23
Merci pour tous vos conseils

Je vais essayer de passer ma table fichier en table mémoire.

Je vous tiens au courant dans la journée demain.
Publicado el 08,octubre 2004 - 12:32
Regarde dans les propriétés de ta colonne onglet détail sir le champ est bien inactif.....

Comme ca aucunes modifs possible...

Ensuite sur l'évenement sélection d'une ligne, tu le rend actif et en sortie de ligne tu le remet inactif......

C'est une idée comme ca qui me vient....
Publicado el 14,octubre 2004 - 13:59
Problème résolu

La seule méthode qui fonctionne correctement dans mon cas est de transformer ma table fichier en table mémoire.

Merci à tous pour les solutions proposées.