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

VBA Access Discussion :

DoCmd.OpenReport avec paramètre [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Points : 84
    Points
    84
    Par défaut DoCmd.OpenReport avec paramètre
    Bonjour, au départ mon projet était sous Access 2010 et j'utilisais les commandes suivante pour appeler mon rapport et lui passé un paramètre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DoCmd.SetParameter "NumeroMembre", Forms!ForMembre!NoMembre
    DoCmd.OpenReport "EtatListeCours", acViewReport, "", "", acDialog
    Et tous fonctionnais, parfaitement, cependant mon client utilisant Access 2007, j'ai du tous modifier au niveau du mon projet vu qu'on ne peut pas automatiquement enregistrer sous compatibilité 2007.

    Cependant, avec le VBA de Access 2007, l'instruction "SetParameter" n'existe pas...

    Ma question est donc simple, que dois-je faire pour passé un paramètre a mon Etat (qui utilise une requête).

    Merci d'avance et bonne journée

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 600
    Points
    19 600
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Il faut que tu passes la condition dans l'argument WhereCondition de la méthode OpenReport:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "EtatListeCours",acViewPreview, , "NumeroMembre=" & Forms!ForMembre!NoMembre, acDialog
    Sous réserve que le champ "NumeroMembre" contienne des valeurs numériques.

    A+

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Points : 84
    Points
    84
    Par défaut
    Enfaite, ma propriété est de type String, cependant, cette méthode je l'avais testé de cette façon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Dim Param As String
        Param = "[NumeroMembre]=" & Form_ForMembre!NoMembre
     
        DoCmd.OpenReport "EtatListeCours", acViewReport, "", Param, acDialog
    Cependant, ça ne fonctionne pas, lorsque je clique sur mon bouton, appelle à mon Etat ce fait bien, mais on me demande de saisir la valeur de NumeroMembre via une petite boite de dialogue comme si j'aurai ouvert manuellement l'etat.

    P.S : J'ai testé sous format "[NumeroMembre]=" ou "NumeroMembre=".

    Merci d'avance.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 600
    Points
    19 600
    Billets dans le blog
    65
    Par défaut
    OK,

    Dans ce cas supprimer le paramètre de ta requête et donne moi juste le nom du champ sur lequel porte le paramètre...

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Points : 84
    Points
    84
    Par défaut
    D'accord, il s'agit du champs NoMembre, donc je présume contre toute attente que je dois remplacer le nom de mon paramètre par NoMembre ?


    Edit 1

    Pour avoir testé, voici le résultat après avoir cliquez.



    Serais-ce a cause de mon état qui bien qu'elle appelle la requête, elle garde toujours en mémoire le parametre ?

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 600
    Points
    19 600
    Billets dans le blog
    65
    Par défaut
    Je ne connais pas Access 2010, mais normalement ton paramètre doit être au niveau de ta requête, édites le sql, normalement tu dois avoir une instruction:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Parameters ...,
    Select...

    Au début de ta requête, en 1ère ligne :

    il faut la supprimer ...



    Si ton champ de ta requête se nomme [NoMembre] alors,

    Essaie comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Param As String
    Param = "[NoMembre]=" & Forms!ForMembre!NoMembre
     
    DoCmd.OpenReport "EtatListeCours", acViewReport, , Param, acDialog
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Param As String
    Param = "[NoMembre]='" & Forms!ForMembre!NoMembre & "'"
     
    DoCmd.OpenReport "EtatListeCours", acViewReport, , Param, acDialog
    A+

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Points : 84
    Points
    84
    Par défaut
    Salut, maintenant c'est moins pire que toutes a l'heures, j'ai seulement une erreur de compatibilté de type....

    Pourtant, mon champs NoMembre est bien de Type Texte.


    Voilà :



    Merci

    Edit : Ouep, il a fallu que je redémarrer Access 2007 pour que la suppression du paramètre soit bien prise en compte.

    Edit 2 : Ah c'est bon maintenant, c'était ton second exemple qui était correcte, avec les «'».

    Encore Merci et bonne journée à toi.

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 600
    Points
    19 600
    Billets dans le blog
    65
    Par défaut
    De rien,

    Bonne soirée,

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

Discussions similaires

  1. [AC-2007] Double condition Where avec utilisation de AND dans DoCmd.OpenReport
    Par m1koo dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/03/2012, 08h28
  2. [AC-2007] DoCmd.OpenReport avec filtre
    Par Imitator92 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/10/2011, 16h27
  3. souci avec DoCmd.OpenReport
    Par dimis dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/07/2009, 15h07
  4. [PL/SQL] Curseur avec Paramètre
    Par blids dans le forum Oracle
    Réponses: 5
    Dernier message: 10/10/2004, 20h07
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

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