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 :

Paramétrer une requête à partir d'un formulaire sur plusieurs tables [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Paramétrer une requête à partir d'un formulaire sur plusieurs tables
    Bonjour,
    Je me suis récemment mis au SQL et à Access suite aux limites d'Excel pour mon traitement de données. Résultat : je découvre le SQL et j'avoue être un peu perdu, heureusement que ce forum est là, il y a déjà beaucoup de sujets qui ont pu m'aider !

    J'arrive cependant à une impasse... Je souhaite, à partir d'un formulaire, sortir un numéro de semaine. A partir de là, j'aimerais récupérer ce numéro, et l'inclure en tant que variable dans une requête. Jusque là tout va bien, sauf que ça ne marche que si je reste dans une table précise. Or, je souhaiterai que ce numéro de semaine me permette de changer les tables sources de ma requête, et pas les données sur lesquelles ont effectue cette même requête.

    Pour illustrer, voici une capture d'écran :

    Nom : démonstration.png
Affichages : 215
Taille : 22,0 Ko


    Je fonctionne avec 2 requêtes pour effectuer mon traitement de données, voici les codes :

    La première, appelée Compilation anneaux/données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [semaine 1 anneau].[Anneau No], [Colorimétrie semaine 1].[L*], [Colorimétrie semaine 1].[a*], [Colorimétrie semaine 1].[b*], [semaine 1 anneau].Date
    FROM [Colorimétrie semaine 1] INNER JOIN [semaine 1 anneau] ON [Colorimétrie semaine 1].[Date&Heure] = [semaine 1 anneau].[Date&Heure];
    Et la seconde, appelée valeurs moyenne par anneau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Compilation anneaux/données].[Anneau No], Avg([Compilation anneaux/données].[L*]) AS [MoyenneDeL*], Avg([Compilation anneaux/données].[a*]) AS [MoyenneDea*], Avg([Compilation anneaux/données].[b*]) AS [MoyenneDeb*], [Compilation anneaux/données].Date
    FROM [Compilation anneaux/données]
    GROUP BY [Compilation anneaux/données].[Anneau No], [Compilation anneaux/données].Date;
    Je pense qu'il faudrait pouvoir insérer la variable dans la première requête, en remplaçant le "1" par "la_variable", mais je n'y suis pour le moment pas parvenu.

    J'espère avoir suffisamment détaillé, merci d'avance à vous !

    Herak'

    EDIT :

    J'ai oublié de vous fournir le code de mon bouton qui exécute tout cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Compare Database
    Private Sub Traitement_Colorimétrie_Click()
    Dim SemaineNo As String
    Forms("Traitement des données").Controls("SemaineNo").Value
    Forms.Traitement des données.Value = rs01.Fields("SemaineNo").Value
    Replace "Compilation anneaux/données", 1, SemaineNo
     
     DoCmd.SetWarnings False
        DoCmd.OpenQuery ("Compilation anneaux/données")
     DoCmd.SetWarnings False
        DoCmd.OpenQuery ("Moyenne valeurs a* b* L* par anneau")
     DoCmd.RunMacro ("ExportExcel")
    End Sub
    Pour l'instant non fonctionnel, j'éditerai au fur et à mesure de mes avancées.

  2. #2
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Bonjour
    Qu'est-ce qui vous motive à devoir créer autant de tables distinctes qu'il y a de semaines dans une année ?
    Si chacune des tables semaine 1 anneau et Colorimétrie semaine 1 et les autres contenaient au moins un champ date, vous pourriez alors créer qu'une et une seule table anneau et colorimetrie et il serait alors possible de calculer dans une requête le numéro de semaine de la date avec NumSem = PartDate("ww";[ChampDate];2) et appeler dans le critère la valeur de votre combobox.

  3. #3
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre réponse rapide !

    A vrai dire, ayant des données à la semaine et devant les exploiter ainsi, je ne me suis pas posé de question et je suis parti sous cette configuration.

    J'ai en effet un champ date dans chacune de mes tables, ainsi qu'un champ heure.
    Au moins, cela règlerait le problème de sélection multi-tables, je vais essayer ainsi.
    Je recompile mes données et je reviens vers vous !

  4. #4
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Après avoir recompilé mes données, j'ai tenté de créer une requête en me servant du bout de code que vous m'avez donné. Cependant, je pense que je n'ai pas compris comment il fonctionne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =PartDate("ww";[Date&heure];2)
    Le "ww" est bien la variable que je dois récupérer de mon formulaire ? Si oui, peu importe la valeur entrée, j'obtiens l'erreur "appel de procédure incorrect".
    De plus, je ne comprends pas l'intérêt du 2 ?

    En tout cas merci à vous, c'est vrai que c'est bien plus pratique avec seulement 2 tables !

  5. #5
    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


    Voici une petite explication de la fonction PartDate() proposée par Hyperion13

    Bonne lecture

  6. #6
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci Jeannot45, j'avais trouvé cette page déjà, mais j'avoue que hier soir je n'avais plus la tête à tout ça. Une bonne nuit de sommeil et c'est reparti !
    J'ai donc bien compris que le ww était là pour signifier un résultat en semaine, et le 2 pour démarrer les semaines par le lundi.

    J'ai du coup refait une tentative en essayant d'améliorer mon code, et j'ai tout compilé dans une seule requête dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT [Anneaux].[Date&heure], [Colorimétrie].[Date&heure], [Anneaux].[Anneau], [Anneaux].[Station], [Colorimétrie].[L*], [Colorimétrie].[a*], [Colorimétrie].[b*], [Colorimétrie].[H2O]
    FROM [Anneaux] INNER JOIN [Colorimétrie] ON [Anneaux].[Date&heure] = [Colorimétrie].[Date&heure]
     
    DIM Msg, SemaineNo AS Date
    SemaineNo = InputBox("Numéro de semaine:")
    Msg = "Semaine: " And DatePart("ww", SemaineNo)
    MsgBox("Valider 'SemaineNo'?", vbYesNo)
     
    GROUP BY [Anneaux].[Date&heure], [Colorimétrie].[Date&heure], [Anneaux].[Anneau], [Anneaux].[Station], [Colorimétrie].[L*], [Colorimétrie].[a*], [Colorimétrie].[b*], [Colorimétrie].[H2O]
    HAVING (("SemaineNo"=DatePart("ww",[Anneaux].[Date&heure],2)) And (([Colorimétrie].[Date&heure])=DatePart("ww",[Colorimétrie].[Date&heure],2)))
     
    END;
    J'ai changé d'idée pour le formulaire et opté pour une entrée manuelle via msgbox.
    Avec ce code-ci, j'obtiens une erreur à l'exécution qui me dit : "Caractères trouvés à la fin de l'instruction SQL", et cela me met le dim en surbrillance.
    Aurais-je fais un oubli ?

    EDIT : L'oubli est simple, c'est ma mauvaise habitude à mettre des ";" à la fin de chaque ligne...

    J'ai maintenant un autre problème, le message d'erreur "erreur de syntaxe (opérateur absent) dans l'expression "[Colorimétrie].[Date&Heure] = [Anneaux].[Date&Heure]

    Dim SemaineNo As Date"

    On continue les recherches

    EDIT2 : On progresse, on progresse, j'avais mal défini ma variable SemaineNo, et du coup elle ne faisait référence à rien... Mais c'est réglé !
    Étonnamment, c'est maintenant une erreur de syntaxe dans la clause "FROM" qui ressort, alors que si je ne lance que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [Anneaux].[Date&heure], [Colorimétrie].[Date&heure], [Anneaux].[Anneau], [Anneaux].[Station], [Colorimétrie].[L*], [Colorimétrie].[a*], [Colorimétrie].[b*], [Colorimétrie].[H2O]
    FROM [Anneaux] INNER JOIN [Colorimétrie] ON [Anneaux].[Date&heure] = [Colorimétrie].[Date&heure]
    Je n'ai aucun problème d'exécution de la requête... Encore un mystère à éclaircir !

  7. #7
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Un conseil, si vous pouviez éviter d'utiliser les accents, caractères cabalistiques, espaces dans le nommage des tables, req, form, etc. et les noms de champ !
    Vous avez pour cela la propriété "légende" en mode création de tbl.

    Je m'interroge.
    Date&Heure est au format Date, général (08/08/2019 19:43) ou Date, abrégé (08/08/2019) ?
    Utilisez une combobox en lieu et place d'une inputbox !
    Pour alimenter la combobox, 2 solutions
    la 1ère que vous adoptez à votre IHM qui ne garantit pas qu'il y aura forcément les NumSem de 1 à 52
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT DatePart("ww",[DHano],2) AS NumSem
    FROM tblAnneau;
    la 2nde, créer une tbl qui contiendra tous les NumSem de 1 à 52
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT NumSem
    FROM tblNumsem;
    Vous travaillez en VBA ou en QBE/SQL ?

  8. #8
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Travaillez-vous en VBA ou QBE/SQL ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Msg As String, SemaineNo AS Long
    SemaineNo = InputBox("Numéro de semaine:")
    Msg = "Semaine: " And DatePart("ww", SemaineNo)
    MsgBox("Valider 'SemaineNo'?", vbYesNo)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [Anneaux].[Date&heure], [Colorimétrie].[Date&heure], [Anneaux].[Anneau], [Anneaux].[Station], [Colorimétrie].[L*], [Colorimétrie].[a*], [Colorimétrie].[b*], [Colorimétrie].[H2O]
    FROM [Anneaux] INNER JOIN [Colorimétrie] ON [Anneaux].[Date&heure] = [Colorimétrie].[Date&heure] 
    GROUP BY [Anneaux].[Date&heure], [Colorimétrie].[Date&heure], [Anneaux].[Anneau], [Anneaux].[Station], [Colorimétrie].[L*], [Colorimétrie].[a*], [Colorimétrie].[b*], [Colorimétrie].[H2O]
    HAVING (("SemaineNo"=DatePart("ww",[Anneaux].[Date&heure],2)) And (([Colorimétrie].[Date&heure])=DatePart("ww",[Colorimétrie].[Date&heure],2)))

  9. #9
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je ne savais pas pour les accents et les espaces, je vais de ce pas corriger tout ça, merci.
    Date&heure est au format date+heure oui, et j'ai cru comprendre, au gré de mes recherches, qu'un champ date "jj:mm:aaaa" était plus pratique à utiliser. J'ai donc inséré un tel champ nommé [Date], mais apparemment cela pourrait porter préjudice au code à cause de la fonction DATE ?

    Je ne connaissais pas la combobox, je vais regarder ça merci. L'objectif n'est pas forcément de voir apparaître le numéro de la semaine, juste de pouvoir le récupérer pour sélectionner les données correspondantes au numéro entré par l'utilisateur.

    VBA ou SQL... Donc Access fonctionne en VBA ? Cela expliquerait pourquoi il me demande régulièrement une source ODBC, apparemment apparentée au SQL si j'ai bien compris ?
    Je cherche à utiliser le langage le plus pratique, mais du coup j'ai du mélanger les deux.

    Je pense que le plus simple est de se limiter au langage propre à Access dans un premier temps.
    Mais j'avoue que je deviens de plus en plus curieux sur la programmation en général !

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 797
    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 797
    Points : 14 863
    Points
    14 863
    Par défaut
    VBA ou SQL... Donc Access fonctionne en VBA ?
    Cela expliquerait pourquoi il me demande régulièrement une source ODBC, apparemment apparentée au SQL si j'ai bien compris ?
    si il te demande une source ODBC c'est parce que tu dois cliquer sur "SQL Direct" (le mauvais) bouton du ruban au lieu de "Sélection" lorsque tu es en création de requêtes (QBE):
    Nom : qbe_ModeSQL.JPG
Affichages : 251
Taille : 30,9 Ko
    mais il vaut mieux privilégier l'affichage "mode création" avec l'interface graphique de QBE, le SQL, mieux vaux l'utiliser uniquement pour copier/coller du code, pour les requêtes UNION (pas le choix) ou bien si on est expert en SQL

  11. #11
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Citation Envoyé par Herak Voir le message
    Je ne savais pas pour les accents et les espaces, je vais de ce pas corriger tout ça, merci.
    Tee_grandbois, Jeannot45 et d'autres, que je salue respectueusement au passage, vous le dirons.
    Cela évite pas mal de bricolage lorsqu'on travaille en vba.
    Citation Envoyé par Herak Voir le message
    Date&heure est au format date+heure oui, et j'ai cru comprendre, au gré de mes recherches, qu'un champ date "jj:mm:aaaa" était plus pratique à utiliser. J'ai donc inséré un tel champ nommé [Date], mais apparemment cela pourrait porter préjudice au code à cause de la fonction DATE ?
    La liste des mots réservés.
    il est interdit d'écrire Date en tant que nom de champ dans une tbl. Dans ce cas on ajoute un préfixe ou suffixe. Dateano par exp.
    Citation Envoyé par Herak Voir le message
    Je ne connaissais pas la combobox, je vais regarder ça merci. L'objectif n'est pas forcément de voir apparaître le numéro de la semaine, juste de pouvoir le récupérer pour sélectionner les données correspondantes au numéro entré par l'utilisateur.
    Il est plus simple d'écrire combobox (Uk/Us) que d'écrire zone de liste déroulante (Fr)
    Dans la capture d'écran de votre post#1 il y a dans le form une combobox.
    Citation Envoyé par Herak Voir le message
    VBA ou SQL... Donc Access fonctionne en VBA ? Cela expliquerait pourquoi il me demande régulièrement une source ODBC, apparemment apparentée au SQL si j'ai bien compris ?
    Je cherche à utiliser le langage le plus pratique, mais du coup j'ai du mélanger les deux.
    tee_grandbois vous a apporté la raison et solution
    VBA (ALT F11) et vous vous retrouvé dans l'environnement VBA d'access.
    QBE/SQL et VBA sont des langages pratiques. Après tout dépend du nombre d'heures vols passé dessus.
    Citation Envoyé par Herak Voir le message
    Je pense que le plus simple est de se limiter au langage propre à Access dans un premier temps.
    Mais j'avoue que je deviens de plus en plus curieux sur la programmation en général !
    une des bibles ici en Uk/Us.

  12. #12
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci, j'ai de quoi occuper mon week-end et plus encore grâce à vous

    Pour le moment, j'ai plus l'impression de bricoler qu'autre chose... Je vais me plonger plus sérieusement dans le VBA (et pourquoi pas dans le SQL !), et je reprendrais ce projet à ce moment-là.

    Encore merci à tous, je reviens vers vous d'ici quelques temps !

    Dois-je mettre la discussion en résolue ou puis-je la laisser ouverte pour la reprendre le moment venu ?

  13. #13
    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


    Tu peux laisser ouvert pour l'instant si tu penses revenir dessus. Sinon, il est préférable de clôturer

  14. #14
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je ne compte pas abandonner ce projet, je le laisse donc ouvert en attendant d'en apprendre un peu plus. Je reviendrai vers vous rapidement

  15. #15
    Candidat au Club
    Homme Profil pro
    géologue
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : géologue
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Salut à vous !
    Retour plus rapide que prévu, mais ce projet est tellement prenant pour moi... J'ai pas pu m'empêcher de bucher tout le week-end... Et grâce à vos conseils et mes lectures, j'ai enfin pu compléter la première partie traitant de ma Colorimétrie !

    Afin que ça reste propre et lisible, j'ai opté pour la création de plusieurs requêtes.

    Je vous joins le code final ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Anneaux].[Anneau], [Colorimetrie].[L*], [Colorimetrie].[a*], [Colorimetrie].[b*], [Anneaux].[DateNo]
    FROM Colorimetrie INNER JOIN Anneaux ON [Colorimetrie].[Date&Heure]=[Anneaux].[Date&Heure];
    'Compilation des données de mes deux tables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CompilationAnneauxDonnees.Anneau, Avg(CompilationAnneauxDonnees.[L*]) AS [MoyenneDeL*], Avg(CompilationAnneauxDonnees.[a*]) AS [MoyenneDea*], Avg(CompilationAnneauxDonnees.[b*]) AS [MoyenneDeb*], CompilationAnneauxDonnees.DateNo, DatePart("ww",[DateNo],2,2) AS NoSemaine
    FROM CompilationAnneauxDonnees
    GROUP BY CompilationAnneauxDonnees.Anneau, CompilationAnneauxDonnees.DateNo;
    'Regroupement des données de la requête précédente en fonction des champs Anneau et DateNo, avec création d'un champ NoSemaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT MoyennevaleursabLparanneau.Anneau, MoyennevaleursabLparanneau.[MoyenneDeL*], MoyennevaleursabLparanneau.[MoyenneDea*], MoyennevaleursabLparanneau.[MoyenneDeb*], MoyennevaleursabLparanneau.DateNo
    FROM MoyennevaleursabLparanneau
    WHERE (((MoyennevaleursabLparanneau.NoSemaine)=[Entrez le numéro de semaine :]));
    'Requête de sélection du numéro de semaine désiré pour le traitement des données
    Le tout est exécuté via un bouton et l'instruction DoCmd.OpenRequest(), suivi d'une macro qui exporte la table obtenue en classeur Excel.

    Cette méthode nécessite le traitement de TOUTE la BDD plutôt que de seulement traiter la semaine sélectionnée, je pense qu'en appliquant la condition du numéro de semaine dès mes table sources, cela permettrait de corriger cela, tout en réduisant le temps de traitement.

    Encore un grand merci à vous pour votre aide, je n'y serais jamais arrivé sans vous ! Et en plus, vous m'avez motivé à continuer... Excel n'est pas pratique pour la masse de données que j'ai à traiter au quotidien, du coup, sur les 8 dossiers restant, je vais encore pouvoir m'amuser un peu !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/09/2014, 13h49
  2. [AC-2007] ouvrir une Requête à partir d'un formulaire
    Par elric dans le forum IHM
    Réponses: 1
    Dernier message: 04/12/2009, 09h46
  3. Critère d'une requète à partir d'un formulaire
    Par Pantazilé dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 24/01/2008, 09h45
  4. [MySQL] Effectuer une requête à partir d'un formulaire
    Par claire13 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/10/2007, 16h06
  5. Réponses: 1
    Dernier message: 13/12/2006, 03h16

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