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

  1. #1
    Membre du Club
    Calcul critère date en mois dans une requête
    Bonjour,

    J'aimerais insérez un critère date à une requête de sélection basé sur la valeur d'un champ indépendant de mon formulaire mais différemment de ce qu'on peu voir habituellement, car cette fois-ci j'aimerais que le critère soit en mois et non pas en date complète, vous n'avez rien compris ? C'est normale moi non plus

    Je m'explique j'ai un champ indépendant sur mon formulaire dans lequel j'aimerais indiquer un nombre de mois, par exemple j'indique le chiffre "3"
    Maintenant j'ai crée ma requête et dans le champ date j'aimerais trouver une formule qui saurais calculer, trier et enfin afficher les dates recherchées donc "3"mois à partir d'aujourd'hui, comme indiqué dans mon formulaire.

    La situation réel de mon exercice est le suivant;

    J'ai des articles soumis à péremption, et à l'aide de cette requête j'aimerais voir en un clic les articles qui seront périmés dans les 3 mois à venir à partir d'aujourd'hui.
    Mon champ date de ma table source es au format classique 07/09/2020.
    Le fromage XXX Périme le 20/09/2020, lui doit ressortir dans ma requête, un autre fromage qui lui expire le 10/01/2021 lui non car nous dépassons notre souhait des 3 mois.

    Je reprécise que le nombre de mois recherché es indiqué dans mon formulaire, donc la requête doit s'adapter au nombre de mois que j'aurais indiqué dans celui-ci.

    Autant les critères date classique je maitrise, mais la aucune idée, j'ai fait quelques recherche sur Google mais rien de vraiment concret.

    Messieurs, si quelqu’un à un début de solution....

    Cordialement,

  2. #2
    Responsable
    Office & Excel

    Salut.

    Tu peux recomposer une date à partir de ses trois composantes... Et la fonction permet de déborder les mois et les années.

    >=Date() Et <=SérieDate(Année(Date());Mois(Date())+3;Jour(Date()))

    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre du Club
    Re
    Salut Pierre,

    La formule fonctionne très bien, merci beaucoup

    Par la suite j'ai essayé d’intégrer mon champ à la formule pour indiquer le nombre de mois à filtrer mais Access me dit que c'est trop complexe ou alors m'ouvre une fenêtre de paramètre.
    Selon toi est-il possible d’intégrer la valeur de mon champ à la formule ou c'est beaucoup trop complexe ? Le cas échéant c'est déjà bien.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    >=Date() Et <=SérieDate(Année(Date());Mois(Date())+[form]![Formulaire_Consultation]![Nbre_mois];Jour(Date()))

    Cordialement,

  4. #4
    Responsable
    Office & Excel

    Dans quoi visualises-tu tes articles? Dans un sous-formulaire? Dans une listbox? ... ?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre du Club
    Citation Envoyé par Pierre Fauconnier Voir le message
    Dans quoi visualises-tu tes articles? Dans un sous-formulaire? Dans une listbox? ... ?
    Dans un sous-formulaire.

    Cordialement,

  6. #6
    Membre du Club
    J'utilise fréquemment des requêtes avec critères à visualiser dans des sous formulaires donc je bidouille, surtout depuis que j'ai crée un formulaire à onglet, je suis obliger d'ouvrir le formulaire en question en arrière plan derrière mon formulaire modale pour que mon paramètre soit prix en compte par ma requête... j'ai le résultat escompté donc ça me vas, mais la pour cette dernière requête ça semble pas fonctionner.

  7. #7
    Membre expert
    déjà la syntaxe : forms au lieu de form :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    >=Date() Et <=SérieDate(Année(Date());Mois(Date())+ forms![Formulaire_Consultation]![Nbre_mois];Jour(Date()))
    "Always look at the bright side of life." Monty Python.

  8. #8
    Membre du Club
    Bonjour
    Citation Envoyé par micniv Voir le message
    déjà la syntaxe : forms au lieu de form :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    >=Date() Et <=SérieDate(Année(Date());Mois(Date())+ forms![Formulaire_Consultation]![Nbre_mois];Jour(Date()))
    Salut,

    Comme tu dis "Déjà" j'ai rectifié merci mais je crois avoir eu une bonne syntaxe par moment, après à force de faire, défaire ma formulaire....

    Donc actuellement ma formulaire est la suivante :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    >=Date() Et <=SérieDate(Année(Date());Mois(Date())+[forms]![Formulaire_Consultation]![Nbre_mois];Jour(Date()))


    Si j'utilise ma requête via mon formulaire [Formulaire_consultation] ça fonctionne bien.. par contre quand je lance ma requête via mon formulaire de navigation à onglet ma requête se lance mais sans prendre en compte la valeur de mon champ [Nmbre]

    Dans le cas ou je vous aurait embrouillez sur mes formulaires voici ma configuration :

    j'ai un formulaire nommé [Formulaire_Consultation] et un champ [Nbre_mois] qui es donc le champ de valeur qui fait référence à notre formule. Si j’exécute tout cela ça fonctionne bien aucun souci.

    Sauf que le but recherché et de lancer ma requête depuis un autre formulaire nommé [Navigation] qui es donc un formulaire de navigation à onglet dans lequel j'ai intégrer [Formulaire_Consultation]![Nbre_mois]

    Peut-être qu'il serait plus simple si je vous joint ma BDD car je risque de m'y perdre dans mes explications.

    J'ai vidé tout les éléments non en rapport avec ma demande, donc impossible de se tromper.



    Cordialement,

###raw>template_hook.ano_emploi###