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 :

Etat sur formulaire filtré [Trucs & Astuces]


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 48
    Points
    48
    Par défaut Etat sur formulaire filtré
    Bonjour,

    J'ai besoin de votre aide car je voudrais pouvoir avoir un état sur un formulaire sur lequel j'ai appliqué un filtre.
    Je sais actuellement sortir un état sur l'enregistrement courant d'un formulaire.
    Egalement sur la totalité des enregistrements d'un formulaire.
    Mais pas sur une partie des enregistrements filtrés depuis un formulaire.

    J'espère avoir été assez clair dans mes explications pour que vous puissiez m'aider.

    Merci pour votre aide.

  2. #2
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Bonjour,

    Il suffit d'appliquer une condition à la méthode 'OpenReport' équivalant à la clause 'Where' d'une instruction SQL.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OpenReport "NomEtat", acViewPreview, , "[NuméroFiche] = " & [NuméroFiche]
    SE

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 48
    Points
    48
    Par défaut
    Merci.
    Je vais essayer et je te tiens au courant .

    PW

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Salut

    je verrai plutot un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "NomEtat", acViewPreview, , Me.Filter

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 58
    Points : 48
    Points
    48
    Par défaut
    J'ai essayé Me.Filter mais ça ne fonctionne pas.
    (Pas plus que Me.FilterOn !)
    Il faudrait que je réussisse à récuperer la clause WHERE appliquée au formulaire pour la passer à la commande DoCmd.openReport.
    Mais là, ça coince ... Pour le moment !!!



    PW

  6. #6
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Note: Le Me.Filter devrait fonctionner... à condition que tu ne souhaites récupérer que le filtre appliqué au formulaire (par l'utilisateur ou de façon indirecte par du code VBA par exemple), snas considérer la clause Where de la source du form...

  7. #7
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut,
    essaye de charger le filtre à l'ouverture du report.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Report_Open(Cancel As Integer)
    IsNull Me.Filter
    Me.Filter = Forms!NomDuForm.Filter
    Me.FilterOn = True
    End Sub

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Si tu as utilisé une clause Where, c'est pas un filtre

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenReport "NomEtat", acViewPreview, 
    Me.NomDuForm.Form.RecordSource

  9. #9
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Citation Envoyé par boubignole
    Si tu as utilisé une clause Where, c'est pas un filtre

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenReport "NomEtat", acViewPreview, 
    Me.NomDuForm.Form.RecordSource
    là la chaine Recordsource risque de ne pas être compatible avec l'argument "Clause Where" de OpenReport...
    Mais l'idée est bonne effectivement si le filtrage se fait par un WHERE DANS le
    Recordsource du form et non par la propriété Filter.
    On pourrait le faire toujours sur ouverture du Report

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Report_Open(Cancel As Integer)
     Me.RecordSource = Forms!LeForm.RecordSource
    End Sub
    Et bien sûr on se contente pour ouvrir le report de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.openreport "LeReport",acViewPreview

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    là la chaine Recordsource risque de ne pas être compatible avec l'argument "Clause Where" de OpenReport
    En fait cette solution fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenReport "NomEtat", acViewPreview, 
    Me.NomDuForm.Form.RecordSource
    la chaine sera tronquée et seule la clause WHERE sera retenue.
    Access semble assez tolérant avec ce genre de petite entorse...

  11. #11
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Arf! je vois... Me.NomDuForm.Form.RecordSource n'est pas dans la
    clause WHERE de OpenReport mais dans l'argument FilterName
    FilterName Variant facultatif. Une expression chaîne qui est le nom valide d'une requête
    il ne s'agit pas de tolérance access mais
    de la définition même de FilterName. S'il prend le nom d'une requête, il peut
    prendre une Expression SQL complète.

    Et ça marche.

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 275
    Points : 238
    Points
    238
    Par défaut Trop facile !!!
    OK, comme la solution a l'air simple, je vais vous compliquer un peu tout ça j'ai le même problème pour imprimer en direct un état sur un formulaire filtré, sauf que , en plus, c'est un sous formulaire que je filtre au départ.
    bien sur, j'ai quand même essayé tout ça et ...

    Voilà, si quelqu'un peu encore me sauver quelques nuit, je lui baiserai les pieds jusqu'à la fin de mes jours.
    merci !!!

Discussions similaires

  1. [AC-2007] etat sur formulaire multi critere
    Par hboisteau dans le forum IHM
    Réponses: 3
    Dernier message: 17/10/2010, 20h53
  2. [WD10] Etat sur formulaire
    Par mnssylvain dans le forum WinDev
    Réponses: 4
    Dernier message: 05/10/2008, 21h45
  3. [WD11] Etat sur formulaire > Plusieurs pages
    Par matt59 dans le forum WinDev
    Réponses: 3
    Dernier message: 14/05/2007, 16h01
  4. Ajout d'enregistrement sur formulaire filtré
    Par bestall666 dans le forum IHM
    Réponses: 2
    Dernier message: 20/02/2007, 10h42
  5. Réponses: 16
    Dernier message: 16/05/2006, 10h28

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