Chercher: Et Ou Phrase  
Dans:          


Menu non membre

Pour les nouveau visiteurs

Entrez ici

Chercher le Forum



 

 Les Forums
  Programmation avancée
Repondre a ce sujet  

Sujet Filtrage de combo successives sans doublons
Message envoyé le 27-05-2021 par averoes63 (France)  
Bonjour à toutes & tous,
Débutant sur Windev Mobile, je souhaiterais filtrer par combos successives chaque du tableau suivant en évitant d'afficher les doublons:
ID;LOCAL;TYPE;OCCUPANT;CONGE;OCC_ASS;PROP_ASS;GEST
1;PRIV;SANS;prop;NON;OUI;OUI;Assureur propriétaire
2;PRIV;SANS;prop;NON;NON;NON;Assureur de l’immeuble
3;PRIV;VIDE;loc;NON;OUI;OUI;Assureur locataire
4;PRIV;VIDE;loc;NON;NON;OUI;Assureur propriétaire
5;PRIV;VIDE;loc;NON;NON;NON;Assureur de l’immeuble
6;PRIV;MEUBLE;loc;OUI;SANS;OUI;Assureur propriétaire
7;PRIV;SAISONNIER;loc;OUI;SANS;OUI;Assureur propriétaire
8;PRIV;MEUBLE;loc;OUI;SANS;NON;Assureur de l’immeuble
9;PRIV;SAISONNIER;loc;OUI;SANS;NON;Assureur de l’immeuble
10;PRIV;VACANT;AUCUN;NON;SANS;OUI;Assureur propriétaire
11;PRIV;VACANT;AUCUN;NON;SANS;NON;Assureur de l’immeuble
12;PRO;VIDE;loc;NON;OUI;OUI;Assureur locataire
13;PRO;SANS;prop;NON;OUI;OUI;Assureur du propriétaire

En vous remerciant pour votre aide,
averoes

Message envoyé le 27-05-2021 par Jackson (Bosnie-Herzégovine)  
@averoes63

If I understand you well, you want to filter same table on more different combo controls and display it on same form.

1. I recommend you to make more query's and fill combos.
2. I recommend to make sql query's by code and fill combos by code.

With second way you will avoid mess in your combos when linked on same field, same table, maybe same query.



Message envoyé le 27-05-2021 par averoes63 (France)  
@Jackson

What is the code for the sql query's
and the code for filling combos?
if you have an idea

thanks

Message envoyé le 28-05-2021 par Jackson (Bosnie-Herzégovine)  
dsCombo1 is Data Source

sSQL is string = [
     SELECT DISTINCT
          MyTableName.ID AS ID,
          MyTableName.LOCAL AS LOCAL,
          MyTableName.TYPE AS TYPE,
          MyTableName.OCCUPANT AS OCCUPANT,
          MyTableName.LEAVE AS LEAVE,
          MyTableName.OCC_ASS AS OCC_ASS,
          MyTableName.PROP_ASS AS PROP_ASS,
          MyTableName.GET AS GET
     FROM
          MyTableName
     WHERE
          TYPE=%1
     AND OCCUPANT=%2
     AND LEAVE=%3
     ORDER BY ID Asc
]

sSQL = StringBuild(sSQL,"SANS","prop","NO")
HExecuteSQLQuery(dsCombo1,hQueryDefault,sSQL)

nPosition is int
FOR EACH dsCombo1 ON "ID"
     nPosition = TableAddLine(CBOX_Combo1)
     CBOX_Combo1[nPisition].ID = dsCombo1.ID
     CBOX_Combo1[nPisition].LOCAL = dsCombo1.LOCAL
     "Fill other fields in your combo"     
END

TableDisplay(CBOX_Combo1,taStart)


** "DISTINCT" MEAN ONLY 1 (No duplicates)

Message envoyé le 29-05-2021 par averoes63 (France)  
Thank you for all
But i don't understand, where I put the code. thanks

Message envoyé le 30-05-2021 par Voroltinquo (France)  
Bonjour,
Filtrer sur quoi déjà

Il y a peut être plus simple, mais ça tourne

Message envoyé le 31-05-2021 par averoes63 (France)  
Bonjour,
Je souhaiterais si cela est possible que l'utilisateur en sélectionnant son choix dans la 1ère combo affiche le LOCAL (sans doublons) puis le choix se restreint en choisissant dans la 2eme combo le TYPE (sans doublons) puis 3eme combo avec OCCUPANT....et le résultat doit afficher le GESTIONNAIRE.
j'ai essayer en créant un fichier de données pour chaque colonne et une colonne code les reliant puis en créant une requête pour chaque combos.
J'ai fais choux blanc.
Merci pour votre aide

Message envoyé le 31-05-2021 par Jackson (Bosnie-Herzégovine)  
@averoes63

This code you can put on:
1. Form "Initialization code"
2. "On Selection" any combo you wish
3. On any button "On click"

Message envoyé le 31-05-2021 par Voroltinquo (France)  
Je suppose qu'il ne s'agit pas d'un tableau qui est un type de variable, mais d'une sélection sur une table.
Il faut en effet faire 3 combos basée chacune sur une requête.
La valeur retournée (mémorisée) NE DEVRA PAS ËTRE LA VALEUR PAR DEFAUT.
Pour chaque combo, il faudra cocher Null si vide

REQ_Local (affectée à COMBO_Local, Valeur retournée Local)
[CODE]
SELECT DISTINCT
     LOCAL
FROM
     MaTable
[/CODE]

REQ_Type (affectée à COMBO_Type, Valeur retournée Type)
[CODE]
SELECT DISTINCT
     TYPE
FROM
     MaTable
[/CODE]

REQ_Occupant (affectée à COMBO_Toccupant, Valeur retournée Occupant)
[CODE]
SELECT DISTINCT
     Occupant
FROM
     MaTable
[/CODE]

Je suppose que le résultat doit apparaitre dans un champ table. Ce champ sera alimenté par une requête

REQ_Résultat
[CODE]
SELECT DISTINCT
     PK_MaTable,
     GEST
FROM
     MaTable
WHERE
     LOCAL={pLocal}
     AND
     TYPE={pType}
     AND
     OCCUPANT={pOccupant}
[/CODE]

Pour chaque combo, il suffit d'ajouter le code suivant dans Sélection d'une ligne

[Code]
REQ_Résultat.pLocal=Combo_Local
REQ_Résultat.pType=Combo_Type
REQ_Résultat.pOccupant=Combo_Occupant
TableAffiche(TABLE_Résultat,taRéExécuteRequête)
[/CODE]


Il y a peut être plus simple, mais ça tourne

Message envoyé le 03-06-2021 par averoes63 (France)  
@Jackson
@Voroltinquo

Merci beaucoup, effectivement ça tourne.
Cependant, est il possible d'éliminer les possibilités au fur et à mesure que l'utilisateur effectue son choix?

Message envoyé le 03-06-2021 par Voroltinquo (France)  
Dans la mesure où
[Code]
REQ_Résultat.pLocal=Combo_Local
REQ_Résultat.pType=Combo_Type
REQ_Résultat.pOccupant=Combo_Occupant
TableAffiche(TABLE_Résultat,taRéExécuteRequête)
[/CODE]
s'éxécute à chaque choix quelle que soit la combo, c'est déjà fait.
Sélection de COMBO_local, COMBO_type et COMBO_Occupant sont à Null (si la case a bien été cochée) donc la requête sélectionne tous les enregistrements correspondant au local choisi etc...

Il y a peut être plus simple, mais ça tourne

Message envoyé le 05-06-2021 par diresm (Algérie)  
Initiation à windev (code source inclut)
https://youtu.be/ICm6jE8LlPI

Message envoyé le 08-06-2021 par averoes63 (France)  
@Voroltinquo

Encore merci



Pour répondre à ce message vous devez être membre

Entrée membre    Enregistrer

  Post reply  



  
Retour © 2021 forum.acam.ca
  
Flag Counter