PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → trié une table via un source de donnée
trié une table via un source de donnée
Iniciado por Maxime, 29,ago. 2019 11:20 - 2 respuestas
Miembro registrado
106 mensajes
Publicado el 29,agosto 2019 - 11:20
Bonjour ,

Je reviens vers vous car j'ai besoin d'une autre solution sur le trie d'une table .
Mon problème est le suivant :

Je possède une table qui s'actualise toutes les 10 secondes via une requête et j'aimerai trouvé dans cette même table via plusieurs boutons les machines selon leur zone d'affectation (3 zone pour l'instant soit trois voir 4 bouton ).
J'ai crée un source de données afin de référencé mes id machine avec la zone qu'elle convient .
Ma version d'exemple et test comporte 8 machine mais a l'avenir en comprendra au moins 75 .

Je pensais faire une lecture de ma sources de donnée et la comparé a la table si les machine sont inscrites dans ma table alors en cliquant sur la zone 1 admettons selon les machines possédant la zone seront affiché .
Ma source de donnée contient uniquement l'id machine et la zone affecté ( c'est une source de référence )

Hors je ne sais pas comment m'y prendre la solution qu'on m'avait transmise ne convient pas à mes supérieur il faut une solution qui soit paramétrable autrement que dans le code c'est à dire en passant par un source de donnée dans l'analyse windev .

Auriez vous des idées ?

Merci pour votre aide
Cordialement M.P
Miembro registrado
4.361 mensajes
Publicado el 30,agosto 2019 - 09:38
Bonjour,
Il suffit dans un premier temps d'ajouter une table "Lieu" dans ton analyse et de modifier la requête de remplissage en conséquence.



Extrait de l'analyse

Extrait de la requête (REQ_EmplacementMachine) :
SELECT
Machine.PK_Machine AS PK_Machine,
Machine.NDX_NomMachine AS NDX_NomMachine,
Lieu.NDX_NomLieu AS NDX_NomLieu
FROM
Lieu,
Machine
WHERE
Lieu.PK_Lieu = Machine.FK_Lieu
AND
(
Machine.FK_Lieu = {pLieu} //Condition à ajouter
)


Il suffit d'ajouter
MaSource.pLieu=Null

dans le code d'initialisation du champ table.

Dans un deuxième temps, l'idée des boutons n'est pas judicieuse.
En effet, si on ajoute un lieu, on doit revoir l'interface (à moins d'utiliser de créer dynamiquement les boutons.) La solution la plu simple à mettre en oeuvre est l'utilisation d'une combo.

Cette combo sera alimentée par "Lieu", affichera le lieu (NDX_Lieu) et renverra PK_Lieu
Tout se passe alors dans les 2 lignes du code de sélection:
REQ_EmplacementMachine.pLieu=MoiMême
TableAffiche(TABLE_MAchine,taRéExécuteRequete)


Si l'on veut revenir à l'affichage de toutes les machine, il suffit d'utiliser l'option Première ligne personnalisée dans "Description/Contenu" de la Combo. La valeur initiale sera Null
--
Il y a peut être plus simple, mais, ça tourne
Mensaje modificado, 30,agosto 2019 - 09:50
Miembro registrado
106 mensajes
Publicado el 30,agosto 2019 - 15:26
Merci mon problèmes est résolu du coups grâce a la requête

Cordialement M.P