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 :

[A-00] relier requete et formulaire


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 80
    Points
    80
    Par défaut [A-00] relier requete et formulaire
    j'ai une question qui pourrait paraitre vraiment bete :

    voila j'ai une base A-00 avec une table clients et une table Biblio. J'ai crée formulaire sous Access 2000. J'ai également crée une requete qui calcule la somme des chiffres d'affaires mensuels de tous les produits.

    1/ dans mon formulaire, je voudrais que lorsque je selectionne un produit dans une liste déroulante, on affiche cette requete uniquement avec le produit choisit

    2/ il y a 12 colonnes représentant les mois de l'année 2008. J'aimerai que ma requete puisse uniquement afficher le CA du mois choisit.

    --> Au final, cette requete devra afficher le CA d'un mois selectionné pour un produit selectionné ; seulement je n'arrive pas a faire la liaison entre mes listes déroulantes et le formulaire.

    la liste déroulante des mois est remplie à la main, la liste des produits est rempli grace à une requete.

    d'avance merci =)

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Pour tes CA par mois, tu as un problème de structure dans ta base.

    Pour faire facilement ce que tu demandes il faut mettre tes chiffres d'affaire en colonne pas en ligne.

    La structure de tes tables devrait être du genre :

    Livre
    ClefLivre
    Autres Infos Utiles

    [CA]
    ClefLivre
    Mois

    ValeurCA

    Les champs en gras sont la clef primaire.

    Si tes CA proviennent de vente, alors il faut créer une requête qui cumule tes ventes par mois et par livre et tu l'utilise à la place de la table CA.

    Pour le filtrage des données à afficher tu as plusieurs stratégies possibles.

    Tu peux faire un formulaire qui affiche tous les CA de tous tes livres puis filtrer sur la ClefLivre

    ou tu peux faire un formualire qui n'affiche jamais que les CA que d'un seul livre et mettre une liste déroulante qui servira de paramêtre pour la sélection du livre.

    Laquelle préfères-tu ?

    A+

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 80
    Points
    80
    Par défaut
    en fait ma table est construite par rapport à un tableau excel de suivi des CA, du coup tous

    les mois se retrouvent dans la table...

    actuellement j'ai réglé le point 1, c'est a dire que la requete me renvoit les résultats

    avec uniquement le produit selectionné.

    j'ai également une variable qui me renvoit la colonne du mois. Par exemple, pour janvier

    2008, la variable 'Mois' (type string) m'affiche '2008/01'

    Voici ma requete actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.listeResultats.RowSource = "SELECT TOP 10 id, libelle, Produit, 2008/01 FROM Biblio WHERE Produit like ' " & Me.ListeProduits & " ' ;"
    Du coup elle ne renvoit que les résultats de janvier...

    j'aimerai pouvoir faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.listeResultats.RowSource = "SELECT TOP 10 id, libelle, Produit, " & Mois & " FROM Biblio WHERE Produit like ' " & Me.ListeProduits & " ' ;"
    Pourtant cela ne fonctionne pas, lorsque la requete est executé, ma liste est vide et l'intitulé de la colonne qui devrait etre '2008/01' est 'Expr1004' un truc comme ca...

    Est-il donc possible de passer le nom d'une colonne en paramètre?

    Ou dois-je construire 12 requetes? en sachant que l'année prochaine les intitulés de colonnes passeront à 2009


    ----
    EDIT : la liste des mois n'est plus remplie à la main, j'ai crée une table 'Mois' avec en libellé les mois (Janvier, Février, ....) et un champ code correspondant (/01, /02,...)

    l'année est passée en variable globale pour l'instant

    la variable Mois dans le code est une concaténation de l'année et du code du mois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim Mois as String
     
    Mois = Annee & CodeMois

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Tu te simplifierai grandement la vie si tu importait tes données en colonne dans une table Access et que tu travaillais de là comme je te l'ai suggéré.

    Pour ce qui est des titres de tes colonnes, je ne connais pas de méthode pour les rendre dynamiques.

    Ce que tu peux faire c'est utiliser toujours des titres fixes pour chaque mois et mettre l'année en tête de ligne.

    Ta requête ressemblerai à

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select 2008 as "Annee", [2008-01] as "Jan", [2008-02] as "Fév" ..., [2008-12] as "Dec" from TaTableSource.

    et en générant le SQl par code tu devrais pouvoir passer l'année en paramêtre pour ne pas avoir à réécrire ta requête à la main chaque année.

    Le resultat serait un truc du genre

    Annee | Jan | Fev | ... | Dec|
    2008 | 10 | 20 | ... | 30 |

    Ou tu peux peut-être utiliser les filtres d'affichage de Excel et en restant dans Excel obtenir un resultat équivalent.

    A+

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 80
    Points
    80
    Par défaut
    En fait c'est bon j'ai réussi à passer ma variable en paramètre pour le SELECT.

    il sufisait de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Biblio.[" & Mois & "] FROM Biblio;

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Tu as mis cela où ? Dans du code VBA ou dans une requête ?

    A+

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

Discussions similaires

  1. [VBA-A]Relier requete SQL
    Par Z[ee]k dans le forum Requêtes et SQL.
    Réponses: 20
    Dernier message: 20/06/2006, 18h06
  2. Requete et formulaire
    Par [thebadskull] dans le forum IHM
    Réponses: 1
    Dernier message: 04/05/2006, 18h23
  3. graphique résultat requete dans formulaire
    Par jordinette dans le forum Access
    Réponses: 2
    Dernier message: 24/11/2005, 13h52
  4. requete et formulaire 2
    Par mapanza dans le forum Access
    Réponses: 1
    Dernier message: 07/10/2005, 10h42
  5. [HTTP] Requete type formulaire
    Par Dahu dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 25/05/2005, 11h22

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