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

Requêtes et SQL. Discussion :

compter sans doublons [AC-2007]


Sujet :

Requêtes et SQL.

  1. #41
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    j'ai modifié les paramètres de date, le séparateur étant le point et non la barre, et j'ai aussi mis le jour avant le mois.
    j'ai essayé avec l'année sur 2 chiffres mais j'ai la même chose
    pourquoi changer le code que j'ai donné ?
    à part l'erreur détectée par hyperion13 :
    Euh... il manque un # dans votre WHERE
    le format n'est qu'un artifice de présentation, une date reste un champ numérique quel que soit le format
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  2. #42
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 37
    Points : 9
    Points
    9
    Par défaut j'ai changé le code
    il ne fonctionne pas, j'ai donc tout tenté

  3. #43
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    j'ai testé en changeant mes paramètres Windows et j'ai un souci avec ce format, donc on va faire autrement car en SQL, le format date avec points pose problème lorsqu'on l'utilise avec des variables externes.
    Comme les dates sont des champs numériques on va remplacer les dates du formulaire par des entiers longs et convertir DateJour également:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      Dim lgdtDeb As Long
      Dim lgdtFin As Long
    ...
      lgdtDeb = CDate(Format(Me![FrmDebut], "mm/dd/yyyy"))
      lgdtFin = CDate(Format(Me![FrmFin], "mm/dd/yyyy"))
    ...
    & "WHERE Clng(T_Suivi.DateJour) between " & lgdtDeb & " and " & lgdtFin & " " _
    ...
    autre chose: les dates du formulaire sont cadrées à gauche, signe que se sont certainement des champs de type texte et pas date ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #44
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Désolé, je prends la discussion en route. Le problème de départ soumis par novalisdom m'a fait pensé à un tuto (Les listes multifonctions) dans lequel, j'explique comment combiner plusieurs critères dans une requête

    J'y ai simulé l'utilisation des filtres automatiques d'Excel.

    Je pense qu'il pourrait peut-être y trouver une piste de réflexion
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  5. #45
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 37
    Points : 9
    Points
    9
    Par défaut paramètres windows
    Tee
    bonjour, ce qui veut dire que si l'ordinateur ou je vais installer l'appli n'a pas les mêmes paramètres, on recommence tout ?
    Je teste malgré tout le code et je vous tiens au courant

    Jeannot,
    merci je vais aller jeter un œil

  6. #46
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 37
    Points : 9
    Points
    9
    Par défaut oups un oubli de ma part
    tee, le code je l'insère ou exactement (je ne suis pas une pro, je vous rappelle, ou alors c'était il y a longtemps, longtemps)

  7. #47
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    bonjour, ce qui veut dire que si l'ordinateur ou je vais installer l'appli n'a pas les mêmes paramètres, on recommence tout ?
    ben non, au contraire, convertir la date en numérique cela permet d'éviter les problèmes de format de dates ...
    le code je l'insère ou exactement (je ne suis pas une pro, je vous rappelle, ou alors c'était il y a longtemps, longtemps)
    il suffisait de compléter ton code d'origine, cela donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub Bt_ok_Click()
      Dim lgdtDeb As Long
      Dim lgdtFin As Long
      Dim stSql As String
      Dim qdf As QueryDef
     
      ' conversion des dates en numérique
      lgdtDeb = CDate(Format(Me![FrmDebut], "mm/dd/yyyy"))
      lgdtFin = CDate(Format(Me![FrmFin], "mm/dd/yyyy"))
     
      stSql = "TRANSFORM Count(T_Suivi.Motif) AS CompteDeMotif " _
    & "SELECT T_Femmes.N° " _
    & "FROM T_Femmes LEFT JOIN T_Suivi ON T_Femmes.N° = T_Suivi.N° " _
    & "WHERE Clng(T_Suivi.DateJour) between " & lgdtDeb & " and " & lgdtFin & " " _
    & "GROUP BY T_Femmes.N° " _
    & "PIVOT T_Suivi.Motif In (""Agression"",""Agression sexuelle"",""Autre"",""Difficultés"",""Harcèlement travail"",""Inceste"",""Planning"",""Violences anciennes"",""Violences conjugales"",""Violences familiales"");"
     
      Set qdf = CurrentDb.QueryDefs("R_nbFemmeMotif00")
      qdf.SQL = stSql
     End Sub
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #48
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Citation Envoyé par Jeannot45 Voir le message


    Désolé, je prends la discussion en route. Le problème de départ soumis par novalisdom m'a fait pensé à un tuto (Les listes multifonctions) dans lequel, j'explique comment combiner plusieurs critères dans une requête

    J'y ai simulé l'utilisation des filtres automatiques d'Excel.

    Je pense qu'il pourrait peut-être y trouver une piste de réflexion
    bonjour Jeannot45,
    le (ou plutôt les) souci est ailleurs: une requête analyse croisée n'accepte pas les paramètres issus d'un formulaire (du type WHERE MonChamp = Formulaires![MonFormulaire]![MonControle]) et qui plus est, se sont des dates ayant un format avec des points, ce que le SQL n'aime pas si on essaie de les convertir.

    La seule solution c'est de reconstruire la requête à chaque demande et d'utiliser les dates dans leur format natif (réel double, avec les heures ou entier long, sans les heures)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #49
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 37
    Points : 9
    Points
    9
    Par défaut le code a l'air de fonctionner
    je vérifie demain et je vous tiens au courant.
    plein d'autres soucis à vous soumettre, mais avant je cherche....
    merci tout plein à vous tous,
    et à demain

  10. #50
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 37
    Points : 9
    Points
    9
    Par défaut alors voilà
    Merci Tee et les autres
    j'ai tout changé ....eh oui
    J'ai créé une requête création de table avec les critères de date et ensuite toutes mes autres requêtes se basent sur cette table.
    J'utiliserai le code du formulaire, lorsque j'en serais à la création de l'appli à proprement parler.
    Il ne me reste que 2 états à créer et normalement, si tout va bien ce sera ok.
    Je vais donc mettre résolu sur ce post.
    Je reviendrais certainement vers vous pour le reste.
    MERCI MERCI MERCI

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Compter sans doublon avec condition
    Par Fayrouzam dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2018, 12h15
  2. Compter sans doublons
    Par alexano211 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/09/2017, 14h16
  3. [XL-2010] Compter sans doublons des Noms + Prénoms
    Par Friberg59 dans le forum Excel
    Réponses: 17
    Dernier message: 01/11/2016, 16h25
  4. [AC-2003] Compter sans doublon
    Par minot83 dans le forum IHM
    Réponses: 4
    Dernier message: 05/07/2012, 16h28
  5. Compter sans doublons
    Par Beltegeuse dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/04/2008, 11h57

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