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 :

Filtrer les informations d'un formulaire [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut Filtrer les informations d'un formulaire
    Salut à tous

    J'ai créé un formulaire qui est basé sur une requête SELECT
    Je souhaite filtrer les informations présentées par le formulaire en modifiant son code source
    Voici le code que j'ai créé (FiltreRecap est un groupe d'option) :
    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
    Select Case Me.FiltreRecap
       Case 0
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_0"
       Case -1
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_Recup"
       Case 1
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_1"
       Case 2
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_2"
       Case 3
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_3"
       Case 4
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_4"
       Case 5
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_5"
    End Select
    mais, lorsque j'exécute ce code, le formulaire ne m'affiche plus aucune information alors que si je mets manuellement le nom de chaque requête dans la propriété SOURCE du formulaire les informations s'affichent correctement

    Pourriez-vous m'aider SVP ??? C'est quelque peu urgent.

    Merci beaucoup

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Essaye en ajoutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.SF_HistoriqueHeures.Form.requery
    après le end select.

    Et accessoirement tu pourrais simplifier ton code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if Me.FiltreRecap<>-1 then
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_" & me.FiltreRecap
       else
          Me.SF_HistoriqueHeures.Form.RecordSource = "R_Historique_Recup"
    end if
    A+

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    j'ai essayé ta proposition mais toujours rien dans mon formulaire... Je ne comprends pas... J'ai déjà fait ceci dans une autre base et ça fonctionnait mais là ça ne veut pas...

    Les requêtes fonctionnent bien individuellement...

  4. #4
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Question "idiote"...
    As-tu vérifié le fonctionnement du groupe d'options : bon nom dans le select case, MsgBox pour contrôler la valeur prise, emplacement du select case...

  5. #5
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    oui j'avais ajouté un bouton avec un msgbox qui reprend la valeur de la propriété SOURCE qui était correcte

  6. #6
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    j'avais ajouté un bouton avec un msgbox
    ???
    Ma question portait sur le bon fonctionnement du groupe d'option en tant que tel, à vérifier en 1ère ligne de ton code.

  7. #7
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    oui ca fonctionne correctement

    A chaque fois que je clique sur le bouton d'option le msgbox me renvoie la valeur correspondant au bouton

  8. #8
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Tu as bien ajouté le Requery conseillé par marot_r ?

  9. #9
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    Oui mais rien

  10. #10
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Je viens de créer une petite base avec le meme type de process en reprenant ton code.
    Tout semble bien fonctionner.

    As-tu pensé à supprimer ton groupe d'option et à le recréer voir même, et c'est moins marrant, refaire ton formulaire.
    j'ai déjà eu un problème similaire qui m'a amené a recréer mon formulaire.

    Bonne continuation

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Étrange !

    Essaye à la place du Me.SF_HistoriqueHeures.Form.requery.

    A+

  12. #12
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    J'ai refait le formulaire que je souhaite filtrer, j'ai refait le groupe d'option, j'ai remplacé la ligne Me.SF_HistoriqueHeures.Form.requery par Me.SF_HistoriqueHeures.Form.recalc et ça ne fonctionne toujours pas...

    La valeur du groupe d'option est correcte car la msgbox me donne la bonne valeur mais rien a faire... Je sens que je vais

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 815
    Points : 14 908
    Points
    14 908
    Par défaut
    bonsoir,
    peux-tu poster ta base ?

  14. #14
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    remplace Me.SF_HistoriqueHeures.Form.recalc par me.recalc.

    Cela va forcer le formulaire principal à se recalculer et par la même recalculer le sous-formulaire.

    A+

  15. #15
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    Voici un extrait de ma base

    Gestion heures Supp-Recup - Copie.zip

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 815
    Points : 14 908
    Points
    14 908
    Par défaut
    bonsoir,
    je constate deux dysfonctionnements:
    1) le formulaire principal contient une source de données: T_DonneesHeures. Quel est l'intérêt, d'autant plus qu'il n'y a pas de champs pères / champs fils entre ce formulaire et le sous-formulaire ?

    2) toutes les requêtes, à l'exception de R_historique_0, contiennent un critère sur NumPersonnel avec [Formulaires]![F_SaisieHeures]![NumPersonnel2] contrôle qui ne semble pas exister dans le formulaire et qui est sans aucun doute la cause du problème.

    J'ai fait fonctionner le formulaire en enlevant la source de données du formulaire principal et en supprimant les critères des requêtes: le code fonctionne bien, le type d'heures est bien pris en compte et cela sans l'instruction Me.Recalc

  17. #17
    Membre régulier
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    J'ai supprimé la source du formulaire principal et ça fonctionne... Bon... Bah... Il me reste a créer une requête ajout pour intégrer les informations du formulaire principal dans une table

  18. #18
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Il me reste a créer une requête ajout pour intégrer les informations du formulaire principal dans une table
    Pourquoi ne pas utiliser un formulaire lié ?
    Avec cela, Access fait tout le travail pour toi.

    A+

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

Discussions similaires

  1. [AC-2007] Filtrer les informations d'un formulaire pour créer un état
    Par Matthieu996 dans le forum IHM
    Réponses: 0
    Dernier message: 23/07/2015, 11h17
  2. récupérer les informations à partir du formulaire
    Par gentil dans le forum Struts 1
    Réponses: 16
    Dernier message: 30/03/2007, 14h17
  3. Réponses: 3
    Dernier message: 07/02/2007, 11h25
  4. Réponses: 4
    Dernier message: 01/08/2006, 12h31
  5. Filtrer les informations, les requetes
    Par Z[ee]k dans le forum Access
    Réponses: 11
    Dernier message: 08/06/2006, 14h10

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