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

Windows Forms Discussion :

Comment manipuler Report Access à partir de VB Express 2008 ?


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut Comment manipuler Report Access à partir de VB Express 2008 ?
    Bonjour à Tous,

    Est-il possible de modifier le champ Filtre d'un Report en Access à partir de VB.NET ? Si oui, comment ?
    Est-t-il également possible d'imprimer ce Report sans ouvrir la base de donnée Access dans laquelle il se trouve ?
    Je sais qu'il existe Crystal Report pour faire des rapports en VB.NET mais j'utilise VB Express et je ne peux utiliser aucun logiciel payant (et donc pas Crystal Report). Si quelqu'un à une autre idée qu'Access pour pouvoir créer et imprimer facilement des rapports liés au données, je suis preneur.

    Merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Voici ce que j'ai réussi à faire pour le moment:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Imports Microsoft.Office.Interop
    '...
    Dim AppAccess As Access.Application
     
    AppAccess = New Access.Application
    AppAccess.OpenCurrentDatabase(NameDB)
    AppAccess.Visible = False
    AppAccess.DoCmd.OpenReport("Report1")
    AppAccess.CloseCurrentDatabase()
    AppAccess = Nothing
    J'ai mis le temps à comprendre que Imports Microsoft.Office.Interop.Access n'était pas suffisant. Il fallait Imports Microsoft.Office.Interop

    Par contre:

    - Je ne sais toujours pas toujours pas comment modifier la propriété Filtre de mon Report (Etat).

    - J'aimerais aussi pouvoir empêcher l'affichage du message Security Warning à l'ouverture d'Access. J'aurais besoin d'une version code et non d'une solution qui consiste à modifier les paramètres d'Access.

    Une idée ?

  3. #3
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Je progresse. J'ai trouvé comment diminuer la sécurité d'Access via le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AppAccess.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityLow
    Mais je patauge toujours pour ce qui est de modifier les filtres des Reports. En fait, j'ai un Report principal (Access 2003) qui contient 3 subforms, contenant chacun un Report. Ce que je cherche à faire c'est modifier les filtres de mes Reports sous-jacents sans les ouvrir. Help!

  4. #4
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Ok. J'ai trouvé.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Citation Envoyé par Chris@Xerox Voir le message
    Ok. J'ai trouvé.
    Salut.

    Et comment as tu fait ? Ta solution pourrait surement intérresser d'autres personnes.

  6. #6
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Citation Envoyé par ddaime Voir le message
    Salut.

    Et comment as tu fait ? Ta solution pourrait surement intérresser d'autres personnes.
    Oups! Désolé pour le délais. Une fois que je tag "résolu" je retourne rarement voir mes posts.

    Pour ceux que ça intéresse, voici mon code permettant de mettre un filtre sur un report Access:

    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
            Dim AppAccess As Access.Application
            Dim Filter, NameReport As String
            Dim FilterValue As String
     
            FilterValue = "1"
     
            Cursor.Current = Cursors.WaitCursor
     
            Filter = "[IDContract]=" & FilterValue
            NameReport = "C:\Report1_" & FilterValue & "_" & Now.ToString("yyyyMMdd_hhmmss") & ".snp"
     
            AppAccess = New Access.Application
     
            AppAccess.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityLow
            AppAccess.OpenCurrentDatabase(MyDB)
            AppAccess.Visible = False
            AppAccess.DoCmd.OpenReport("Report1", Microsoft.Office.Interop.Access.AcView.acViewNormal, , Filter, Microsoft.Office.Interop.Access.AcWindowMode.acHidden)
            AppAccess.DoCmd.OutputTo(Microsoft.Office.Interop.Access.AcOutputObjectType.acOutputReport, "Report1", "SnapshotFormat(*.snp)", NameReport)
            AppAccess.CloseCurrentDatabase()
            AppAccess = Nothing
            Cursor.Current = Cursors.Default
            MsgBox(NameReport & " was created AND printed!", MsgBoxStyle.Information)
    Bye.

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

Discussions similaires

  1. Manipuler des donnés à partir d'Access.
    Par dierker dans le forum VB.NET
    Réponses: 1
    Dernier message: 04/03/2011, 23h34
  2. [Toutes versions] Comment lancer une macro Excel/Access à partir d'un .exe?
    Par victorzecat dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/07/2010, 21h35
  3. Access 2007 & Visual Basic Express 2008
    Par Pithonnette dans le forum VB.NET
    Réponses: 3
    Dernier message: 22/07/2008, 14h18
  4. Manipulation tables mysql à partir d'Access
    Par stagolee dans le forum VBA Access
    Réponses: 9
    Dernier message: 31/01/2008, 18h33
  5. Réponses: 7
    Dernier message: 26/12/2007, 13h36

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