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 :

Commande "DoCmd.OpenReport" sous VBA access


Sujet :

IHM

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 232
    Par défaut Commande "DoCmd.OpenReport" sous VBA access
    Bonjour,
    J'ai le code suivant pour ouvrir un Form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Numéro_de_fex_Click()
        Dim stDocName As String
        Dim stLinkCriteria As String
        stDocName = "Affiche fex"
        stLinkCriteria = "[Numéro de fex]=" & [Numéro de fex]
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    End Sub
    Je voudrais faire pareil mais avec un état et la commande Docmd.OpenReport.
    Cela est-il possible car je n'ai pas trouvé d'aide avec exemple dans l'aide VBA Access.

    Merci à tous pour votre aide
    nomade

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Ce sont les mêmes arguments, qui dépendent de ta version d'Access. F1 sur OpenReport pour ouvrir l'aide.
    Acces 2003 :
    expression.OpenReport(ReportName, View, FilterName, WhereCondition, WindowMode, OpenArgs)
    Bon courage,

    PGZ

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 232
    Par défaut
    Bonjour à tous et merci pour la réponse, mais cela ne marche pas.
    l'état s'ouvre mais avec toutes les données, et non pas avec celle triées selon le critère.
    voici mon code, quelqu'un pourrait il le corriger?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Texte26_Click()
    Dim ReportName As String
    Dim stLinkCriteria As String
    ReportName = "Maintenance Equip"
    stLinkCriteria = "[EQ]=" & "'" & Me![EQ] & "'"
    DoCmd.OpenReport "Maintenance Equip", acViewPreview, stLinkCriteria
    End Sub
    Merci par avance

    Ps: je n'ai qu'une notion trés, trés limité de VB

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut
    voila le code que moi j'utilise. Il fonctionne tres bien essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub CmdImprimer_Click()
     
    'imprimer l'état correspondant au formulaire en appercu
     
     On Error GoTo Err_CmdImprimer_Click
     
        Dim stDocName As String
     
        stDocName = "Recette" ' met le nom de ton etat
        DoCmd.OpenReport "Recette", acPreview, , "(idversion)= " & Me.idversion.Value
     
    Exit_CmdImprimer_Click:
        Exit Sub
     
    Err_CmdImprimer_Click:
        MsgBox Err.Description
        Resume Exit_CmdImprimer_Click
    Attention il faut que (comme dans cet exemple) le idversion soit sur ton formulaire et dans ton état. Sinon le filtre ne marchera pas.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 232
    Par défaut
    Bonsoir,
    J'obtiens le même résultat qu'avec mon code, à savoir l'état s'ouvre, mais affiche tous les enregistrements et ne filtre pas sur le critère "idversion".
    Le fait que la table pour le form et pour l'etat soit la même a t il son importance?
    Merci pour la réponse

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 189
    Par défaut
    Bonsoir,

    Ton erreur réside dans le manquement d'un argument pour la méthode DoCmd::OpenReport().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Texte26_Click()
      Dim strReportName As String
      Dim stLinkCriteria As String
      strReportName = "Maintenance Equip"
      stLinkCriteria = "[EQ]=" & "'" & Me![EQ] & "'"
    ' Erreur:
    ' DoCmd.OpenReport ReportName, acViewPreview, stLinkCriteria  DoCmd.OpenReport strReportName , acViewPreview, stLinkCriteria
    '
    ' Bon Code ici-bas:
      DoCmd.OpenReport strReportName, acViewPreview, "", stLinkCriteria
    '
    End Sub
    Ca devrait marcher.

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 232
    Par défaut
    Merci à jacou
    ça fonctionne impec
    A+

  8. #8
    Membre Expert
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Par défaut
    perso j'écrirais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Texte26_Click()
    DoCmd.OpenReport "Maintenance Equip", acViewPreview, ,"EQ=forms!le_nomd_formulaire!EQ"
    End Sub
    alternative
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Texte26_Click()
    DoCmd.OpenReport "Maintenance Equip", acViewPreview, ,"EQ=" & ME!EQ.value
    End Sub
    Vous allez me dire que je simplifie tout et qu'il n'y a pas des gestion d'erreur, mais si la gestion d'erreur conste seulement à sortir du prog, je vois pas l'interêt
    Quand à mettre un texte dans une variable pour le passer en argument, dites moi si des essais on fait la preuve d'une meilleure rapidité...?!?
    -------------------Simplifi----------comme si tout était simple--------

  9. #9
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut Etat avec critère
    Bonjour,
    J’ai un problème similaire, J’ai crée une BD (Ordonnace(2).mdb) avec 2 tables (un enregistrement de la table 1 correspond à plusieurs enregistrement de la table 2) puis un formulaire et un sous-formulaire. Je voudrais créer un état qui m’affiche un enregistrement du sous-fourmulaire en reprenant des données du formulaire. L’état m’affiche tous les enregistrements. Que dois je faire ?
    J’ai appliqué votre solution : le critère étant le CodeMalade, mais sans résultat. J’ai un message qui me demande de préciser le critère ! Y a t il une solution ?
    Merci

  10. #10
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Par défaut Etat avec critère
    Bonjour,
    Merci les amis c’est notamment en posant des questions aux autres qu’on réfléchis encore plus. J’ai résolu le problème, avec l’aide des forums.
    La procédure lorsque le critère est un texte = DoCmd.OpenReport "Nom de l’état", acPreview, , "[Critère]=" & "'" & Me![Critère] & "'"
    La procédure lorsque le critère est un numéro = DoCmd.OpenReport "Nom de l’état", acPreview, , "[Critère]=" Me![Critère]
    Le [Critère] entre guillemets est celui figurant sur l'état, le [Critère] hors des guillemets désigne celui figurant sur le formulaire. S’il s’agit d’un sous-formulaire il faut ajouter le nom du SF avec un point d’exclamation exemple : Me![Malades sous-formulaire]![Critère]
    Salutations !

  11. #11
    Membre confirmé Avatar de Gabrieel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Par défaut
    Citation Envoyé par Hydatid Voir le message
    Bonjour,
    Merci les amis c’est notamment en posant des questions aux autres qu’on réfléchis encore plus. J’ai résolu le problème, avec l’aide des forums.
    La procédure lorsque le critère est un texte = DoCmd.OpenReport "Nom de l’état", acPreview, , "[Critère]=" & "'" & Me![Critère] & "'"
    La procédure lorsque le critère est un numéro = DoCmd.OpenReport "Nom de l’état", acPreview, , "[Critère]=" Me![Critère]
    Le [Critère] entre guillemets est celui figurant sur l'état, le [Critère] hors des guillemets désigne celui figurant sur le formulaire. S’il s’agit d’un sous-formulaire il faut ajouter le nom du SF avec un point d’exclamation exemple : Me![Malades sous-formulaire]![Critère]
    Salutations !
    Merci grace a ton intervention, je comprend désormais très bien la différence!

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 86
    Par défaut
    Bonsoir,
    j'ai créé un état
    Nom : Etat 1.JPG
Affichages : 307
Taille : 94,4 Ko
    au niveau du détail, j'ai les informations sur 4 lignes
    je voudrais si sur la ligne 2 les 2 champs, ne pas imprimer la ligne
    de mème si le champ de la troisième ligne est vide ne pas imprimer cette ligne
    de cette façon l'impression sur 4,3 ou 2 lignes
    si j'affiche l'état en Aperçu avant impression, je voudrais sur click droit n'afficher que la possibilité d'Imprimer
    Cordialement
    Pierre

  13. #13
    Membre confirmé Avatar de Gabrieel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Par défaut
    Citation Envoyé par sultan87 Voir le message
    Bonsoir,
    j'ai créé un état
    Nom : Etat 1.JPG
Affichages : 307
Taille : 94,4 Ko
    au niveau du détail, j'ai les informations sur 4 lignes
    je voudrais si sur la ligne 2 les 2 champs, ne pas imprimer la ligne
    de mème si le champ de la troisième ligne est vide ne pas imprimer cette ligne
    de cette façon l'impression sur 4,3 ou 2 lignes
    si j'affiche l'état en Aperçu avant impression, je voudrais sur click droit n'afficher que la possibilité d'Imprimer
    Cordialement
    Pierre
    j'admire ton courage: tu post un screen intern avec numéro de telephone email et tout. tu n'as vraiment pas peur GG

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

Discussions similaires

  1. probleme avec la commande execute sous vba access 2003
    Par williamkwr dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/07/2009, 20h05
  2. accéder un champ de la requette sous vba access
    Par mahboub dans le forum Langage SQL
    Réponses: 1
    Dernier message: 24/04/2007, 22h21
  3. Réponses: 12
    Dernier message: 10/06/2006, 19h07
  4. [Access 2003/VBA]Zorder sous VBA-Access ?
    Par cotmar dans le forum Access
    Réponses: 2
    Dernier message: 05/06/2006, 13h55

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