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 :

Eviter les doublons


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut Eviter les doublons
    Bonjour,

    J'ai une requête INSERT INTO ….. SELECT DISTINCT
    Cette requête je l'ai mise dans l'initialisation de ma table, mais à chaque fois que j'ouvre ma table cela crée des doublons.
    En sachant qu'un même produit X peut être saisie et n'a pas forcément pour les mêmes informations.
    J'ai consulté les explications sur internet afin de trouver une solution, mais le problème persiste.
    Pourriez-vous me dire comment éviter ces doublons
    Merci beaucoup

  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
    Une requête INSERT c'est pour ajouter des données, pas pour les afficher
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    DISTINCT ne devrait jamais être utilisé.
    Dans 99.99% des cas, quand un programmeur débutant utilise DISTINCT, c'est pour masquer un bug.
    Mais masquer un bug, ça ne corrrige pas le bug.

    A la place de distinct, il faut utiliser GROUP BY.
    L'avantage de GROUP BY, c'est que ça oblige le programmeur à comprendre ce qu'il dit.

    Ici, je ne suis pas sûr que remplacer DISTINCT par GROUP BY suffise à y voir clair.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  4. #4
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Bonjour Hilander,

    Comme d'habitude, tu ne donnes pas suffisamment de détail...

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Une requête INSERT c'est pour ajouter des données, pas pour les afficher
    Oui ça j'avais compris, y a-t-il une autre solution

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Il ne faut pas confondre le champ table, et la table dans la base de données.
    Pour ajouter des données en base (dans un fichier en langage WinDev), il faut effectivement une requête INSERT.
    Pour ajouter des donnes dans un champ table, il faut regarder les fonctions Table*.

    Ici il faudrait que tu nous expliques ce que tu veux faire exactement: pourquoi ajouter systématiquement des donnes en base dans l'initialisation d'un champ table ?
    J'avoue ne pas comprendre la logique.

    Tatayo.

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Citation Envoyé par hilander Voir le message
    Oui ça j'avais compris, y a-t-il une autre solution
    Pour qu'il y ait une solution, il faut qu'il y ait un besoin exprimé.
    Tu ne présentes pas ton besoin, tu présentes ta façon de solutionner ce besoin.

    On devine que tu veux afficher des données dans une fenetre.
    On imagine que l'utilisateur pourra modifier ces données.

    Et on voit gros comme une maison le bug qui se profile :

    * Insert into Fichier 2 select données from fichier 1
    * Affichage des données qui sont dans fichier 2
    * Modification des données ; sauvegarde dans fichier 2

    Puis quand l'utilisateur ouvre à nouveau la fenêtre, il écrase le contenu du fichier 2 en le remplaçant par fichier 1, et il pleure parce que ses modifications ont été écrasées.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #8
    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
    Maintenant on se méfie:
    -Quelle analyse utilises-tu ?
    -Quelle est ta requête ?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Bonsoir,
    J'ai une Table 1 dans laquelle il y a des champs table col1, col2, col3 dans lesquels il y a des données différentes A, B, C, ...
    J'ai une Table 2 dans laquelle il y a des champs table identiques col1, col2, col3

    Ce que je souhaiterais c'est copié les données de la table 1 vers la table 2 car ce sont des données identiques (A, B, C, …) ce qui m'éviteras de les ressaisir au risque de faire des erreurs.
    Et à chaque fois que j'ajouterais des données dans la Table 1, elles seront automatiquement copiées dans la Table 2

    C'est la raison pour laquelle je m'étais orienté vers une requête INSERT INTO … FROM. Mais le problème avec cette requête c'est que les données sont dupliquées.
    Mais en vous lisant, je vois bien que ma piste n'est pas la bonne.

    J'espère que mon explication vous apportera plus de précision, je sais bien que j'ai du mal à m'expliquer, mais la logique informatique n'est pas ce que je souhaite faire

    Bonne soirée à tous et encore merci pour votre patience

  10. #10
    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
    Nous sommes fatigués de te dire qu'il n'y a jamais de rubriques identiques dans 2 tables (justement pour éviter de se casser la tête avec la synchro.)
    Ces données sont soit dans l'une soit dans l'autre soit, et c'est le cas le plus fréquent dans une troisième.
    Nom : screenshot_09-12-2019 19h33_n°01.png
Affichages : 620
Taille : 3,4 Ko
    Dans le premier cas, on est en face d'une relation très forte ((0,1)-(1,1)), ce qui signifie qu'on ne peut pas créer d'enregistrement dans Table2 avant d'avoir créé un enregistrement dans Table1.
    Les données communes sont alors récupérées via FK_Table1
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  11. #11
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Il y a une chose que j'ai un peu de mal à comprendre, mais c'est vous les experts.
    Pourquoi avec Excel, Access, MySQL ou d'autres ce que je souhaite faire est possible en lisant divers forum, sachant que WinDev est bien plus performant.
    Mais bon ce n'est qu'un simple commentaire d'un débutant.

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bien sur que c'est possible.
    Mais ce n'est pas le mieux.
    Lisez bien les conseils.

  13. #13
    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
    On peut aussi tenter de construire un immeuble sur un terrain marécageux sans fondations correctes.
    Par ailleurs, EXCEL N'EST PAS UN SGBD ce qui est obligatoire dans excel est prohibé dans un SGBD bien construit.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  14. #14
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Comparer Excel et Windev, ou comparer MySQL et Windev, c'est comme comparer un vélo et une perceuse.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  15. #15
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    En parcourant ce forum, j'ai trouvé une chose qui me conviendrait, solution donnée par Tatayo.
    Est_ce possible de l'adapter à mon projet pour n'afficher les données sans doublons, je ne sais pas.

    Pièce jointe 523199

    Merci

  16. #16
    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
    S'il y a des doublons non souhaités en affichage, c'est que les même données existent dans les tables concernées. Le problème ne vient pas de l'affichage des données mais de l’enregistrement de ces données (un contrôle qui n'a pas été fait avant le HEnregistre/HModifie/HAjoute par exemple.) Comme le précisait tbc92, le DISTINCT dans ce cas n'est qu'un cache misère. Le même problème va survenir ultérieurement.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  17. #17
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Si ça peut aider, la discussion à laquelle Hilander fait référence est ici
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  18. #18
    Nouveau Candidat au Club
    Femme Profil pro
    ide
    Inscrit en
    Octobre 2019
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ide
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2019
    Messages : 191
    Points : 0
    Points
    0
    Par défaut
    En lançant WDMAP, et que je lance rechercher les doublons, cela me donne les occurrences et en effet dans mon ID j'ai des numéros qui se répliquent

  19. #19
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Citation Envoyé par hilander
    en effet dans mon ID j'ai des numéros qui se répliquent
    Tu veux dire que tu as le même ID ou 2 fois le même enregistrement avec des ID différent ?
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  20. #20
    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
    Tu ne penses quand même pas à un hIgnoreDoublon ou à un HIgnoreIntégrité parce que la fenêtre d'erreur gênait ?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

Discussions similaires

  1. Après importation, eviter les doublons
    Par uloaccess dans le forum Access
    Réponses: 6
    Dernier message: 16/11/2005, 16h36
  2. [Débutant][XSLT]Eviter les doublons
    Par leminipouce dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/10/2005, 11h34
  3. hash et Tie , eviter les doublons
    Par bluecurve dans le forum Langage
    Réponses: 5
    Dernier message: 12/10/2005, 16h39
  4. Eviter les doublons
    Par cyrill.gremaud dans le forum ASP
    Réponses: 5
    Dernier message: 14/09/2005, 12h37
  5. [langage] 2 fichier dans 1 en evitant les doublons
    Par remixxl dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2004, 17h05

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