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 :

savoir si un rapport est chargé [AC-2003]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut savoir si un rapport est chargé
    Bonsoir à tous

    J'aimerai savoir le code VBA /fonction qui retourne le nom d'un rapport chargé

    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu peux énumérer tous les rapports en état chargé et retourner leur nom mais je ne vois pas comment tu peux en cibler un en particulier...

    Argy

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 551
    Points
    24 551
    Par défaut
    Bonjour,

    Si j'ai bien compris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    currentproject.AllReports("monreport").IsLoaded
    Cordialement,

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Bonjour
    La solution en passant par allreports ne permet pas de savoir si une instance particuliere est chargee. Il est preferable d'utiliser la collection reports qui contient tous les etats qui sont charges
    Par exemple, si 1 seule instance ne eput etre chargee a un moment donnee (utilisation du docmd.openreport), alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim R as report
    on error resume next
    Set R=reports("NomEtat")
    .... (Si R est nothing, alors l'etat n'est pas charge)
    autre approche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public Function EtatCharge(NomEtat as string) as boolean
    on error resume next
    EtatCharge=NOT (reports("NomEtat") IS NOTHING)
    end function
    J'espere que cela t'aidera

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci à ceux qui ont participé à ce debat, j'ai bien bénificé de nouveaux astuces, mais qu'ils ne s'agit pas de ma question :
    " Il y a à chaque fois, une instance d'un etat chargé ,et j'aimerais savoir son nom "
    Merci .

  6. #6
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    @alasomed, si tu veux une réponse claire, il faudrait une explication claire !

    Il y a à chaque fois, une instance d'un etat chargé
    C'est à dire, comment.... pourquoi.... quand ?

    et j'aimerais savoir son nom
    de l'instance ou de l'état... (bon je sais c'est petit !)

    ==> Quel en est le but ?


  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Voilà .. pour un formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Forms(i).CurrentView <> 0 Then
                    VarMonFrm = Forms(i).Name
    la Méthode (.CurrentView) avec un formulaire est accessible
    Mais avec un Etat est inaccessible ,
    et l'Access retourne une erreure

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Je n'ai pas bien compris ton objectif...
    Mais bon, voilà une fonction qui te permettra d'aller où tu veux :
    (A toi de la peaufiner comme tu l'entends)

    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
    35
    36
    37
    38
    39
    40
    41
    42
    Public Enum m_eObjectType
        eIsForm
        eIsReport
    End Enum
     
    Public Function ObjectIsLoaded(ByVal ObjectName As String, ByVal ObjectType As m_eObjectType) As Boolean
    '---------------------------------------------------------------------------
    ' Procedure     : ObjectIsLoaded
    ' DateTime      : 14/04/2009
    ' Author        : Argyronet
    ' Purpose       : Vérifie si un objet (Form ou Report) est chargé
    '...........................................................................
    ' Parameters    : ObjectName = Nom de l'objet
    '                 ObjectType = Type de l'objet
    ' Return Codes  : Boolean = True si l'objet est chargé
    '......................................................................
    ' Evolutions    :
    '---------------------------------------------------------------------------
    Const OBJECT_IS_CLOSED           As Long = 0
    Dim oAccessObject                As AccessObject
     
        On Error GoTo ObjectIsLoaded_Error
     
        Select Case ObjectType
            Case eIsForm
                Set oAccessObject = CurrentProject.AllForms(ObjectName)
            Case eIsReport
                Set oAccessObject = CurrentProject.AllReports(ObjectName)
        End Select
        If oAccessObject.IsLoaded Then
            ObjectIsLoaded = (oAccessObject.CurrentView <> acCurViewDesign)
        End If
        Set oAccessObject = Nothing
     
        On Error GoTo 0
    ObjectIsLoaded_Exit:
        Exit Function
     
    ObjectIsLoaded_Error:
        ObjectIsLoaded = False
        Resume ObjectIsLoaded_Exit
    End Function
    Argy

  9. #9
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merçi Bq cher Argy Votre réponce éclaire mon chemin ..
    voilà J'arrive à ecrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function RptChargé() As String
    Dim obj As AccessObject, dbs As Object
        Set dbs = Application.CurrentProject
           For Each obj In dbs.AllReports
               If obj.IsLoaded = True Then
                     RptChargé = obj.Name
            Exit For
                End If
           Next obj
    End Function
    et ça marche .. merci

  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut

    N'oublie pas le
    à la fin de ta fonction.

    Argy

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

Discussions similaires

  1. ProgressDialog : comment savoir quand la ListView est chargée ?
    Par jerem_orga dans le forum Composants graphiques
    Réponses: 13
    Dernier message: 29/12/2011, 19h39
  2. Comment savoir si une feuille est chargée ?
    Par imoelie dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/12/2010, 01h54
  3. Savoir si un module est chargé
    Par loufoque dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/04/2008, 16h01
  4. Savoir quand la page est chargée ?
    Par blanchonvincent dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/09/2007, 23h33
  5. [javascript]Savoir quand une frame est chargée
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/08/2005, 09h18

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