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 :

Execution requête SQL vide


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut Execution requête SQL vide
    Par un clic sur un bouton, je veux créer une requête d'analyse croisée conditionnelles avec le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sql = "TRANSFORM Count(DEMANDEUR.Numdemandeur) AS [N°]"
    sql = sql & " SELECT CONTACT.Prestation"
    sql = sql & " FROM PERIODE_STATS_CRMA, DEMANDEUR INNER JOIN CONTACT ON DEMANDEUR.Numdemandeur = CONTACT.Numdemandeur"
    sql = sql & " WHERE (((CONTACT.[Date du contact])>= " & Debut & " And (CONTACT.[Date du contact])<= " & Fin & ") AND ((CONTACT.Prestation) Like ""*4*"" Or (CONTACT.Prestation) Like ""*5*"" Or (CONTACT.Prestation) Like ""*6*"" Or (CONTACT.Prestation) Like ""*7*"") AND ((CONTACT.Action) Like ""*4*""))"
    sql = sql & " GROUP BY CONTACT.Prestation"
    sql = sql & " PIVOT CONTACT.TypeACC;"
    DoCmd.DeleteObject acQuery, "Thematique_suivi_projet_2011"
    CurrentDb.CreateQueryDef "Thematique_suivi_projet_2011", sql
    DoCmd.OpenQuery "Thematique_suivi_projet_2011"
    La requête est créée mais renvoit un résultat vide. Il suffit que j'ouvre la requête en mode création que modifie n'importe quoi dans la requête (je bouge graphiquement l'une des tables impliqué dans la requête) pour que la requête renvoit bien les bonnes valeurs. Le code SQL n'a pas changé d'un pouce. Quelqu'un a-t-il une explication logique a ceci ?
    Merci de votre réponse.

  2. #2
    Rédacteur/Modérateur


    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 747
    Billets dans le blog
    67
    Par défaut
    Salut,

    Tu as essayé avec une variable querydef:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim qdf As DAO.QueryDef
     
    ...
    ...
     
    set qdf = CurrentDb.CreateQueryDef "Thematique_suivi_projet_2011", sql
    DoCmd.OpenQuery "Thematique_suivi_projet_2011"
    Peut-être faudrait-il aussi libérer la variable qdf

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    salut User et bienvenu nono48,

    je pencherais pour un pb sur tes formats de variable debut/fin.
    (en sql il faut les déclarer au format us et les entourer par le symbole: #)


  4. #4
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut Pas de résultat positif
    J'ai essayé vos 2 propositions mais pas de résultat.
    J'ai mis aussi ci-dessous, la totalité de la procédure en simplifiant la clause WHERE pour mieux comprendre. Merci de votre aide.

    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
    Dim qdf As DAO.QueryDef
     
    Set db = CurrentDb
     
    Debut = #1/1/2011#
    Fin = #3/31/2011#
     
    ' Récupération des informations thématique des projets entreprises : innovation , développement durable ou autres
    sql = "TRANSFORM Count(DEMANDEUR.Numdemandeur) AS [N°]"
    sql = sql & " SELECT CONTACT.Prestation"
    sql = sql & " FROM PERIODE_STATS_CRMA, DEMANDEUR INNER JOIN CONTACT ON DEMANDEUR.Numdemandeur = CONTACT.Numdemandeur"
    sql = sql & " WHERE (((CONTACT.[Date du contact])>= " & Debut & " And (CONTACT.[Date du contact])<= " & Fin & "))"
    sql = sql & " GROUP BY CONTACT.Prestation"
    sql = sql & " PIVOT CONTACT.TypeACC;"
     
    DoCmd.DeleteObject acQuery, "Thematique_suivi_projet_2011"
    Set qdf = CurrentDb.CreateQueryDef(("Thematique_suivi_projet_2011"), sql)
    'CurrentDb.CreateQueryDef "Thematique_suivi_projet_2011", sql
    Set qdf = Nothing
    Set db = Nothing
    DoCmd.OpenQuery "Thematique_suivi_projet_2011"

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debut = "#1/1/2011#"
    Fin = "#3/31/2011#"
    teste aussi avec un "where true".


  6. #6
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut Problème résolu
    Effectivement le problème venait bien du format de la variable passée en argument.
    Cela fonctionne bien comme indiqué par vodiem : "#01/01//2011#".
    Merci encore de vos réponse.

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

Discussions similaires

  1. Executer requête SQL ( JSF )
    Par maserati dans le forum JSF
    Réponses: 0
    Dernier message: 29/12/2011, 09h41
  2. execution requête SQL après un message
    Par yvo002 dans le forum NetBeans
    Réponses: 2
    Dernier message: 10/10/2010, 22h33
  3. [vba access] Pb d'execution requête SQL (requête simple)
    Par mike2302 dans le forum VBA Access
    Réponses: 9
    Dernier message: 28/06/2007, 14h58
  4. [MySQL] Afficher le temps mis pour executer une requête SQL
    Par micatmidog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/09/2005, 11h23
  5. Pb sur une requête SQL (de champ vide)
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 11h12

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