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 :

envoyer état filtré avec sendobject


Sujet :

VBA Access

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Points : 1 042
    Points
    1 042
    Par défaut envoyer état filtré avec sendobject
    Bonjour,
    je souhaite envoyé en automatique certains rapports le problème est que send object envoie l'ensemble des états.
    est il possible d'envoyer uniquement le rapport filtré?
    merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    Bonjour,
    J'ai le même pb et il semble qu'il n'y ait pas de réponse.
    J'avais pensé avoir trouvé une piste dans un post de 2004
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stDocName = "etat1"
    DoCmd.SendObject acReport, stDocName, , "id_projet = " & Me.id_projet
    ce qui laisserait supposer qu'on peut envoyer un rapport filtré.
    Mais en utilisant ce code, ce sont tous les rapports qui sont envoyés.

    On en est donc au même point, mort.

    J'ai essayé de passer avant par un SelectObjet, sans succès.

    Ne faudrait-il pas d'abord exporter le rapport sous forme de fichier, puis envoyer ce fichier ?
    Je vais essayer.

    Amitiés

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut J'ai essayé et j'ai réussi !
    Bonsoir,
    Les méthodes OutPutTo et SendObject, si on ne donne pas de nom d'objet (seulement acOutPutReport ou acSendReport) à envoyer, utilisent l'objet actif.
    Donc, j'ouvre le report en PreView, puis j'utilise la méthode ad-hoc et j'obtiens dans le cas de OutPutTo le fichier à l'emplacement demandé et dans le cas de SendReport, la création d'un msg dans ma messagerie (Eudora7) et le fichier se place dans le répertoire des pièces attachées.
    Dans l'aide d'Access2000, il y a un exemple de code à la rubrique "exemple de méthodes OutPutTo et Sendobject" (avec une faute d'orthographe dans le nom d'une variable chFormatSortie à un endroit et chrFormatSortie plus loin)

    Un petit bout de code
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     DoCmd.OpenReport stDocName, acViewPreview, , "[N° de saisie]=83"
          Call OutputSnapshotFile(1, "", "c:\cgc\report.snp")
     
     
     Public Sub OutputSnapshotFile(intOutputTO As Integer, _
        chNom As String, Optional chChemin As String, _
        Optional chNomDest As String)
     
     
        DoCmd.Hourglass True
        chFormatSortie = acFormatSNP '"Format Snapshot"
     
        Select Case intOutputTO
            Case conSaveSnapshotToDisk
                If Len(chChemin) > 0 Then
                    DoCmd.OutputTo acOutputReport, , _
                        chFormatSortie, chChemin
                Else
                    DoCmd.Hourglass False
                    Exit Sub
                End If
            Case conSaveSnapshotToMail
                If Len(chNomDest) > 0 Then
                    DoCmd.SendObject acSendReport, _
                        chNom, chFormatSortie, chNomDest
                Else
                    DoCmd.Hourglass False
                    Exit Sub
                End If
            Case Else
        End Select
        DoCmd.Hourglass False
    End Sub
    Pour moi ç'est résolu, mais je ne comprends pas pourquoi SendObject ne permet pas de filtrer, et se contente de prendre l'objet actif.
    J'ai utilisé le format SNAPSHOT car c'est celui qui conserve au report son aspect original (comme PDF).
    Amitiés

Discussions similaires

  1. [XL-2010] Problème informations dans la barre d'état VBA avec présence de filtres
    Par richert90 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 20/12/2013, 20h53
  2. [AC-2003] Problème avec SendObject pour envoyer l'état actif en PDF
    Par gigite974 dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/08/2011, 15h33
  3. Envoyer un état Access avec outlook...
    Par rossy dans le forum Access
    Réponses: 1
    Dernier message: 03/11/2005, 15h43
  4. Envoyer plusieurs états filtrés par mail...
    Par Thierry'' dans le forum IHM
    Réponses: 8
    Dernier message: 20/09/2005, 12h02
  5. Réponses: 5
    Dernier message: 08/07/2002, 16h22

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