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

Access Discussion :

Diminuer reccurence rêquete


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 46
    Points : 31
    Points
    31
    Par défaut Diminuer reccurence rêquete
    Bonjour,

    Je suis entrain de confectionner une base de données sous MS Access.
    J'effectue des requêtes qui sont similairement les même ( il y a juste le mois qui change ), alors je me demandais si il n'y avais pas une petite astuce pour m'éviter d'écrire exactement 96 requêtes.


    Merci de votre attention.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Peux-tu poster une de tes requêtes ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Bonjour marrot__r,

    Voici une de mes requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Round(Avg(roaming.[Number of Roaming Days]),1) AS [Number of Roaming Days], Round(Avg(roaming.[Number of Active Roaming Days]),1) AS [Number of Active Roaming Days]
     
    FROM roaming
    WHERE roaming.[Date Month] = #2/1/2016#;
    ,

    Cordialement,

    Jika971

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    il est possible de déclarer une requête avec un ou des paramètres : simplement un critère de sélection entre []
    pour ton cas il faut penser à 2 paramètres: le mois et l'année

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Merci pour cette solution, mais je ne vois pas comment m’y prendre

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Merci pour la requête.

    Pour répondre à la partie Paramètre c'est assez simple :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Round(Avg(roaming.[Number of Roaming Days]),1) AS [Number of Roaming Days], Round(Avg(roaming.[Number of Active Roaming Days]),1) AS [Number of Active Roaming Days]
     
    FROM roaming
    WHERE roaming.[Date Month] = [prmDate];

    Si tu exécutes cette requête Access va te demander la valeur de prmDate et ensuite t'afficher le résultat correspondant.

    On peut compléter ce paramètre :
    • À la main
    • Par VBA
    • Via un formulaire


    prm est une abréviation personnelle pour "Paramètre", ce qui me permet de savoir que ma variable vient de l'"extérieur".

    On peut aussi utiliser une table qui peut servir à la place du paramètre.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Round(Avg(roaming.[Number of Roaming Days]),1) AS [Number of Roaming Days], Round(Avg(roaming.[Number of Active Roaming Days]),1) AS [Number of Active Roaming Days]
     
    FROM roaming, tblParamDate
    WHERE roaming.[Date Month] = [tblParamDate].[DateMois];

    Et enfin on peut faire générer les requêtes par code.

    Pour une réponse plus ciblée, pourrais-tu préciser dans quel circonstance tu as besoin de 96 requêtes ?
    Est-ce que tu as besoin des 96 sources en même temps ? l'une après l'autre ? En affichage ? En Impression ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Bonjour marot__r,

    Merci pour cette réponse si détaillé qui m'éclaire un peu plus.

    En gros j'ai 8 requêtes différentes à effectuer par mois d'où le 96.
    C'est la raison pour laquelle je me demandais si il était possible diminuer ce 96 à l'aide d'une astuce.
    Et oui aussi je souhaite les afficher dans un état (les 8 requêtes par mois) pas en même temps seulement par mois, et la aussi je me demandais s'il il n'était pas possible de mettre l'état en paramètre pour m'éviter à créer 8 états.


    Merci de me porter aide Marot__r

  8. #8
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Si chaque mois tu n'as besoin que de 8 requêtes, tu n'as besoin que de passer le mois en paramètre.
    Le plus simple me semble de faire un formulaire (frmParam) de saisie où tu choisira l'année (Annee) et le mois (NumMois).

    Ta requête devient donc quelque chose comme :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Round(Avg(roaming.[Number of Roaming Days]),1) AS [Number of Roaming Days], Round(Avg(roaming.[Number of Active Roaming Days]),1) AS [Number of Active Roaming Days]
    FROM roaming
    WHERE roaming.[Date Month] = DateSerial([Forms]![frmparam]![Annee], [Forms]![frmparam]![NumMois], 1)

    Et tu te sers de cette requête pour alimenter ton rapport.

    Pour les rapport, si tes requêtes ont EXCATEMENT les mêmes champs, oui tu peux n'utiliser qu'un seul rapport et changer sa source.
    Je suppose que si c'était le cas tu ne ferai pas 8 requêtes différentes.
    Donc probablement que tu dois créer 8 rapports différents.

    Une astuce possible, serait de faire un rapport universel et d'accepter que les champs qui ne sont pas dans la requête source soient "Vides".
    Si tu as une requêtes avec Champ1, Champ2 et Champ3 et une autre avec Champ1, Champ3 et Champ4, tu pourrais avoir un rapport avec Champ1, Champ2, Champ3 et Champ4.
    Selon la source, Champ2 ou Champ4 seraient vides puisqu'il n'y a pas de champ correspondant dans la source.
    C'est un peu cochon comme méthode mais cela devrait marcher.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Bonjour Marrot__r,


    je continue à avancer dans mes petites galères. Grace à ta requête la tache s'est avéré moins compliqué.
    J'ai insérer mes 8 requêtes dans un état, jusqu'ici tout va bien. Mais tapez 8 fois la date et mois, c'est un peu barbant.

    Il y a t-il un moyen de mettre la date encore en paramètre ? (enfin du moins par état)

  10. #10
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    As-tu vu mon message précédent à 18h35 ?

    Le plus simple me semble de faire un formulaire (frmParam) de saisie où tu choisira l'année (Annee) et le mois (NumMois).
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Vu que je débute sur Access, je ne sais pas trop comment m'y prendre.
    C'est pour cela que mes question paraissent un peu bête

Discussions similaires

  1. diminuer BD ACCESS sans compacter
    Par HE dans le forum Access
    Réponses: 10
    Dernier message: 26/06/2006, 09h14
  2. [carte graphique] Diminuer vitesse du ventilo Asus 6800GT
    Par SteelBox dans le forum Composants
    Réponses: 2
    Dernier message: 24/08/2005, 13h28
  3. [ImageMagick] Recadrer une photo et non pas la diminuer
    Par max44410 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 27/07/2005, 21h38
  4. diminuer la luminosité
    Par shura dans le forum OpenGL
    Réponses: 1
    Dernier message: 16/12/2004, 10h07
  5. Rêquete INSERT
    Par cassi2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/10/2004, 09h27

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