IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Ne pas tenir compte de certains résultats d'une requête pour création d'un état [WD20]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut Ne pas tenir compte de certains résultats d'une requête pour création d'un état
    Bonjour le Forum,

    Je réalise des états via des requêtes. Pas de soucis à ce niveau.
    Cependant et en fonction de cas particulier, il faudrait que je puisse ne pas tenir compte de certains résultats de ces requêtes?
    Le soucis est que je ne veux pas impacter mes fichiers de données.
    Concrètement, voici un exemple : requête pour lister un ensemble de personne pour éditer un courrier par exemple.

    Je réalise ma requête via l'éditeur pour récupérer mes données :
    monsieur Paul, madame sophie, monsieur andré, madame isabelle.(avec d'autres informations)

    Ces noms sont stockés dans un fichier de données que je souhaite conserver (genre historique), du coup si je veux écarter un nom, je ne peux pas tout simplement le supprimer ^^ il faut que je puisse dans la création de mon état, l'exclure du traitement...
    Est-ce que cela est possible? Je suis depuis plusieurs heures sur le problème et je ne vois pas comment le résoudre!!!!

    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Tu peux éventuellement ajouter un booléen (e.g. Courrier) que tu cocheras en fonction des besoins.
    Tu ajouteras à ta requête courrier=Vrai
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Bjr Voroltinquo,

    Merci pour le retour! Un exemple ou ébauche de code sur lequel je pourrai m'appuyer peut-être?
    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    J'avoue la solution est tordue
    Prenons l'exemple d'une circulaire à envoyer à des clients d'un département donné. On désire que certains clients ne reçoivent pas cette lettre.
    La table client ressemble à ça:
    Nom : 2018-02-28_23h21_11.png
Affichages : 158
Taille : 4,4 Ko
    Ajoutons maintenant une colonne NDX_Courrier (Valeur par défaut=1), la table devient:
    Nom : 2018-02-28_23h21_36.png
Affichages : 151
Taille : 5,4 Ko

    Créons maintenant notre requête (REQ_Client_dun_dep):
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT 
    	Client.PK_Client AS PK_Client,	
    	Client.Civilité AS Civilité,	
    	Client.NDX_Nom AS Nom,	
    	Client.Prénom AS Prénom,	
    	Client.Adresse AS Adresse,	
    	Client.NDX_CodePostal AS CodePostal,	
    	Client.NDX_Ville AS Ville,	
    	Client.NDX_Courrier AS Courrier
    FROM 
    	Client
    WHERE 
    	Client.NDX_CodePostal LIKE {ParamCP}%

    Utilisons cette requête pour créer un champ table.
    Code de COL_Courrier (A chaque modification):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    HLitRecherche(Client,PK_Client,TABLE_REQ_Client_dun_dep.COL_PK_Client)
    Trace(Client.NDX_Nom)
    Client.NDX_Courrier=COL_NDX_Courrier
    HModifie(Client)
    Nous pouvons maintenant créer la requête que nous allons utiliser:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SELECT 
    	Client.PK_Client AS PK_Client,	
    	Client.Civilité AS Civilité,	
    	Client.NDX_Nom AS Nom,	
    	Client.Prénom AS Prénom,	
    	Client.Adresse AS Adresse,	
    	Client.NDX_CodePostal AS CodePostal,	
    	Client.NDX_Ville AS Ville,	
    	Client.NDX_Courrier AS Courrier
    FROM 
    	Client
    WHERE 
    	Client.NDX_CodePostal LIKE {ParamCP}%
    	AND	Client.NDX_Courrier = 1

    A l'issue du traitement, il faudra réinitialiser la table Client
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE 
    	Client
    SET
    	NDX_Courrier = 1
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Bonjour Voroltinquo,

    Merci pour tous ses éléments ^^
    J'ai effectivement pu réaliser ce que je souhaitais à l'aide de votre réponse... Un Grand merci
    Bonne journée à vous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/07/2011, 14h34
  2. Réponses: 7
    Dernier message: 24/06/2010, 16h38
  3. Réponses: 2
    Dernier message: 04/06/2009, 14h49
  4. Réponses: 2
    Dernier message: 21/09/2007, 15h12
  5. Ne pas tenir compte des accents dans une requete
    Par zamanika dans le forum Installation
    Réponses: 8
    Dernier message: 08/11/2004, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo