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

IHM Discussion :

VBA - Générer un état basé sur une requète avec paramètres


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut VBA - Générer un état basé sur une requète avec paramètres
    Bonjour,
    Je souhaiterais générer un état basé sur une requête avec 2 paramètres au format date; dont les données sont saisies par l'utilisateur dans un formulaire.
    Concrètement, l'utilisateur saisie une plage de dates dans un formulaire lui permettant de générer l'état dans la plage de dates sélectionnée.
    En cliquant sur un bouton, une procédure VBA est exécutée et récupère les données du formulaire.
    Le report s'ouvre, mais redemande les paramètres de la requête.

    Comment puis-je passer en VBA des paramètres à un état basé sur une requête recevant ces paramètres ?

    Ci-après un exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport ETATBORDEREAU, acViewPreview, , "[Début période]= " & Début & " and [Fin période]=" & Fin
    PS : j'utilise Access 2000
    Merci encore pour votre aide.

    Philippe

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut et bienvenu sur le forum,

    Si j'ai bien compris il semble que tu as 2 fois les paramètres : une fois dans la requete et une fois dans la ligne de commande d'ouverture de l'état.

    Il te faut soit :

    - ouvrir un état basé sur une requéte contenant toutes les données, et préciser une condition de filtre lors de l'ouverture de l'état
    - ouvrir un état basé sur la requéte contenant les données filtrées et ne préciser aucune condition de filtre lors de l'ouverture de l'état


    Mais j'ai peut-être mal compris...


    A+

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    L'état est basé sur une requête prenant 2 paramètres de type date.
    Les valeurs sont saisies par l'utilisateur dans un formulaire.
    Lorsqu'il clique sur un bouton, l'état correspondant doit être édité, en tenant compte de ces dates.

    Je voudrai exécuter le report par une commande VBA (apparemment celle que j'utilise ne semble pas être la bonne, ou du moins pas la bonne syntaxe); en évitant que la saisie des paramètres ne soient réitérées.
    Penses tu que ce soit possible avec cette version ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Re,

    Fais un essai en ouvrant l'état comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OpenReport ETATBORDEREAU, acViewPreview
    A+

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide.
    En exécutant le code ci-dessus, Access me re-demande les paramètres (chose que je ne veux pas)
    J'avais lu qq part qu'il était possible d'utiliser la commande openargs sur le report pour récupérer les paramètres passés au report.
    Cependant dans Access 2000, cette méthode ne semble fonctionner que sur les formulaires.

  6. #6
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Essaie plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenReport ETATBORDEREAU, acViewPreview, , "[Début période]= #" & format(Début,"mm/dd/yyyy") & "# and [Fin période]=#" & format(Fin,"mm/dd/yyyy")  & "#"

    Mais, il faut virer les paramètres de la requête, sinon, il va continuer à te les demander.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/07/2014, 11h29
  2. [AC-2007] Création d'un état basé sur une requête analyse croisée
    Par s.rais dans le forum Access
    Réponses: 1
    Dernier message: 28/01/2014, 12h16
  3. Réponses: 2
    Dernier message: 23/09/2012, 12h02
  4. état basé sur une requête et des variables
    Par titi_la_vermine dans le forum IHM
    Réponses: 1
    Dernier message: 02/11/2010, 19h13
  5. Réponses: 3
    Dernier message: 12/12/2006, 11h45

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