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 :

Synchronisation Filtre d'un formulaire avec Etat [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Synchronisation Filtre d'un formulaire avec Etat
    Bonjour à tous,

    je développe une base de données Access de gestion des salariés pour une PME dans laquelle je suis en alternance. Le problème que je rencontre apparaît lorsque j'essaye de synchroniser le filtre de mon formulaire sur un Etat.
    En effet mon formulaire se nomme "Formulaire Absences" et regroupe toutes les absences des salariés dans l'entreprise.
    Je filtre les résultats en fonction de la date de début de chaque absence (le champs du formulaire est "Date de début", de même pour l'état), c'est à dire que l'utilisateur rentre une date (au format 00/00/0000;0;_) sur un champ indépendant "txtFiltrer". Cela permet de filtrer à partir de quelle date l'utilisateur veut que les dates d'absences apparaissent dans le formulaire. Ce champ est relié à un bouton nommé "cmdOK" ayant pour code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub cmdOK_Click()
    On Error Resume Next
     If Me.cmdOK.Caption = "Filtrer" Then
        Me.Filter = "[date début abs]>=#" & Format(Me.txtFiltrer, "mm/dd/yyyy") & "#"
        Me.FilterOn = True
        Me.cmdOK.Caption = "StopFiltre"
     Else
        Me.FilterOn = False
        Me.cmdOK.Caption = "Filtrer"
     End If
    End Sub
    Ce filtre fonctionne parfaitement. A partir de cela, j'ai créé un etat (avec les mêmes noms de champs que le formulaire) accessible depuis un bouton sur mon formulaire afin d'afficher un aperçu avant impression. Voici le code de ce bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Impr_Click()
     
      Dim stDocName As String
     
      stDocName = "Etat Rech Abs"
      DoCmd.OpenReport stDocName, acPreview, , "[txtFilter]=#" & [Date début abs] & "#"
     
    End Sub
    Ce code ne fonctionne pas. J'ai essayé plusieurs codes mais j'en arrive toujours au même point.
    Je vous remercie d'avance pour votre aide.

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Peut-être ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport stDocName, acPreview, , "[Date début abs]>=Forms![Formulaire Absences]![txtFiltrer]"
    Cordialement.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Super !
    Merci pour ta réponse,
    cela fonctionne. Seulement, le filtre sur l'état fonctionne même quand le bouton filtre est sur "Stopfiltre". Comment faire pour que le filtre sur Etat puisse prendre en paramètre l'activation ou non du bouton ?

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Voici ce que tu pourrais mettre dans le code du bouton qui lance l'impression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Impr_Click()
    Dim stDocName As String
    stDocName = "Etat Rech Abs"
    If Me.FilterOn = True Then   'vérifie si le filtre est sur ON
    DoCmd.OpenReport stDocName, acPreview, , "[Date début abs]>=Forms![Formulaire Absences]![txtFiltrer]"
    Exit Sub
    ElseIf Me.FilterOn = False Then
    DoCmd.OpenReport stDocName, acPreview   ' impression de l'état sans filtre
    Exit Sub
    End If
    Si tu ne veux pas imprimer quand le filtre est sur False, tu pourrais remplacer la commande d'ouverture de l'état par un message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        MsgBox "Pour imprimer cet état, Vous devez d'abord introduire une date.... etc", vbInformation
    Cordialement

    Ps: Pense à marquer la discussion comme résolue si le problème est réglé. Merci.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Impec !
    Merci beaucoup RobiPMS tu me fais vraiment gagner un temps précieux.
    Je met en Résolu.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 13/08/2010, 09h18
  2. Ouvrir un formulaire avec 2 filtres
    Par liop49 dans le forum IHM
    Réponses: 3
    Dernier message: 19/07/2007, 14h06
  3. formulaire vers etat avec parametre
    Par pat1545 dans le forum Access
    Réponses: 2
    Dernier message: 21/07/2006, 12h48
  4. Problème avec filtre d'un formulaire ?
    Par HookerSeven dans le forum Access
    Réponses: 3
    Dernier message: 25/02/2006, 01h59
  5. Réponses: 13
    Dernier message: 06/11/2005, 10h45

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