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 :

Requete sur aucun enregistrement [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut Requete sur aucun enregistrement
    Bonjour

    j'ai une table planning et une table formateur

    Dans ma table planning je rentre des dates et des formateurs ce qui me permet de voir où sont mes formateurs jour/jour
    (toutes les dates ne sont pas renseignées, il y à des journées non renseignées)

    je souhaiterais savoir si il était possible de lancer une requête entre 2 dates ( entre #01/10/15# et #31/10/15#) mais m'affichant TOUTES les dates pour 1 formateur et non pas seulement celles qui ont un enregistrement.

    exemple de ce que je veux :
    01/10/15 formateur x
    02/10/15 formateur x
    03/10/15
    04/10/15 formateur x...

    ce que j'obtient a ce jour:
    01/10/15 formateur x
    02/10/15 formateur x
    04/10/15 formateur x...
    (la date du 03/10/15 qui est vide n'apparait pas)

    merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Je ne comprends pas ta question.

    Veux-tu la liste des 31 dates d'octobre avec chaque formateur ?

    1/10 formateur A
    ...
    ...
    31/10 formateur A
    1/10 formateur B
    ...
    ...
    31/10 formateur B
    ...
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut
    Bonjour Claude LELOUP

    ma requête filtre entre 2 dates et sur le nom du formateur (ca pas de soucis)

    Effectivement je veux afficher les 31 dates pour ce formateur même les dates où je n'ai aucun enregistrement

    Si pas possible par requête voir pour un affichage dans un état ou un formulaire car juste besoin d'avoir un visuel sur le formateur sur la période pour ces dispo ou indispo

    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Si je comprends ton but, je ferais comme ceci : un formulaire dans lequel l'utilisateur
    - choisit un formateur dans une liste déroulante
    - inscrit une date début et une date fin
    - clique un bouton => la liste des dates de l'intervalle s'affiche avec l'affectation (ou blanc) du formateur à ces dates.

    C'est ça ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut
    c'est exactement cela

    merci de ton aide

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Dans la db jointe (Access2000), veux-tu ajouter un échantillon des tables nécessaires et reposter le zip.

    Prends la précaution que les données personnelles soient fictives.

    Cela me permettra de te construire un exemple.
    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut
    ci joint un bout de ma base refaite pour exemple
    Fichiers attachés Fichiers attachés

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Voici un exemple




    Une table tDatesInter qui sera régénérée à chaque demande




    Pour la source, une requête qui sera créée à la volée, par exemple pour l’intervalle 1/10/15 => 15/10/15 et le formateur « a »




    Code associé au bouton « Afficher »

    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
    21
    22
    23
    24
    25
    26
    27
    28
    Option Compare Database
    Option Explicit
     
    Private Sub btAfficher_Click()
     Dim dDate As Date
     Dim sSql As String
     'Vérifier les données de la demande
     If IsNull(Me.cboFormateur) Then MsgBox "Vous devez choisir un formateur": Exit Sub
     If Nz(Me.txtAu, #1/1/1900#) < Nz(Me.txtDu, #1/1/2100#) Then MsgBox "Les dates sont incohérentes": Exit Sub
     DoCmd.SetWarnings False
     dDate = Me.txtDu
     'Vidanger
     DoCmd.RunSQL "Delete * From tDatesInter;"
     'Regarnir
     Do While dDate <= Me.txtAu
       DoCmd.RunSQL "INSERT INTO tDatesInter ( DateInter ) SELECT #" & Format(dDate, "mm/dd/yyyy") & "# AS Expr1;"
       dDate = dDate + 1
     Loop
     DoCmd.SetWarnings True
     'Construire la source
     sSql = "SELECT planning.formateur, tDatesInter.DateInter, nz([matiere],""Disponible"") AS Occupation " _
                & "FROM planning RIGHT JOIN tDatesInter ON planning.date = tDatesInter.DateInter " _
                & "WHERE (((planning.formateur)=""" & Me.[cboFormateur] & """ Or (planning.formateur) Is Null));"
     Me.RecordSource = sSql
     'Afficher
     Me.txtDateInter.Visible = True
     Me.txtOccupation.Visible = True
    End Sub
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut
    Claude

    merci pour tout c'est exactement cela que j'avais besoin, je vais l'adapter maintenant a ma base

    merci de t'être penché sur ma demande

    Bonne continuation

    MERCI à toi et au site

  10. #10
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut
    Bonjour Claude

    je me suis permis de rouvrir cette discussion, car je ne m'en étais pas rendu compte, il manque des dates qui ne s'affiche pas.
    dans ton précédent post regarde sur l'image de ton formulaire il manque la date du 05/10/15 et sur mon adaptation, il me manque des dates aussi.

    La table est bien vidée à chaque fois et re-remplie avec toutes les dates
    C'est au niveau de la requête qu'il manque des dates dans le résultat.

    Merci d'avance de ton aide

    Bonne journée

  11. #11
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    je me suis permis de rouvrir cette discussion, car je ne m'en étais pas rendu compte, il manque des dates qui ne s'affiche pas.
    Tu as bien fait, car il y a une erreur de raisonnement dans la requête :



    En effet, la requête ne ramènera pas les dates libres pour le formateur alors qu'un autre formateur est actif à cette date.

    Je cherche une autre solution...
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  12. #12
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut
    Merci a toi Claude

    j'attends ton retour avec impatience

    bon courage

  13. #13
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Cette fois, je crois qu’on y est !





    Pour la source, une requête qui sera créée à la volée, par exemple pour l’intervalle 1/10/15 => 15/10/15 et le formateur « a »



    Code associé au bouton « Afficher »
    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
    21
    22
    23
    24
    25
    26
    27
    28
     
     
    Option Compare Database
    Option Explicit
     
    Private Sub btAfficher_Click()
     Dim dDate As Date
     Dim sSql As String
     Dim q As QueryDef
     'Vérifier les données de la demande
     If IsNull(Me.cboFormateur) Then MsgBox "Vous devez choisir un formateur": Exit Sub
     If Nz(Me.txtAu, #1/1/1900#) < Nz(Me.txtDu, #1/1/2100#) Then MsgBox "Les dates sont incohérentes": Exit Sub
     DoCmd.SetWarnings False
     dDate = Me.txtDu
     'Vidanger
     DoCmd.RunSQL "Delete * From tDatesInter;"
     'Regarnir
     Do While dDate <= Me.txtAu
       DoCmd.RunSQL "INSERT INTO tDatesInter ( DateInter ) SELECT #" & Format(dDate, "mm/dd/yyyy") & "# AS Expr1;"
       dDate = dDate + 1
     Loop
     DoCmd.SetWarnings True
     'Construire la source
     sSql = "SELECT [DateInter], nz(DLookUp(""matiere"",""planning"",""formateur =""""" & Me.cboFormateur & """"" and date =#"" & Format([DateInter], ""mm/dd/yyyy"") & "" #""),""Disponible"") AS Occupation FROM tDatesInter;"
     Me.RecordSource = sSql
     'Afficher
     Me.Section("Détail").Visible = True
    End Sub
    La db exemple est ici : http://claudeleloup.developpez.com/&...cjay974%20.mdb
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  14. #14
    Membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 69
    Points
    69
    Par défaut
    Bonjour Claude

    Merci ca marche nickel
    bravo a toi et encore merci de ton aide

    A bientôt pour de nouvelles aventures

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

Discussions similaires

  1. [MySQL] Faire une Requete sur les enregistrements du jour même
    Par skins dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/04/2010, 10h36
  2. Requete NOT EXISTS qui ne retourne aucun enregistrements
    Par uptoditime dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/12/2007, 15h18
  3. Ma requete de mise a jour, ne modifie aucun enregistrement.
    Par AurelieB dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 19/11/2007, 08h14
  4. Requete sur plusieurs enregistrements !
    Par Mathelec dans le forum Langage SQL
    Réponses: 14
    Dernier message: 12/03/2006, 14h27
  5. Requete sur un enregistrement
    Par Fooshi dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/01/2006, 14h05

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