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

Access Discussion :

Ouverture d'un formulaire avec des requêtes différentes


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Ouverture d'un formulaire avec des requêtes différentes
    Bonjour,

    Tout d'abord un grand merci d'avance pour tous ceux qui s'intéresserons à mon problème.

    Voici mon souci.

    J'ai créé une Table 'Personnel' contenant tous les employés travaillant dans mon entreprise.
    J'ai créé ensuite un formulaire 'Personnel' basé sur cette table.

    Sachant que ces personnes sont affectées dans des quarts j'ai créé plusieurs boutons (un pour chaque quart) permettant aux responsables de quart de consulter les informations concernant les gens sous leur autorité.
    Voici le code affecté à chaque bouton :

    Private Sub Personnel_Equipe_A_Click()
    DoCmd.OpenForm "Personnel", acNormal, , "Quart='A'"
    DoCmd.Maximize
    End Sub

    Le problème c'est qu'une fois que le responsable travaille sur son formulaire (notamment lorsqu'il exécute des filtres), l'opération 'Afficher tous les enregistrements' du menu contextuel fait apparaître toutes les personnes travaillant dans l'entreprise, y compris celles des autres quarts.

    Même problème en créant une requête pour chaque quart et en utilisant le code suivant pour l'ouverture du fomulaire :

    Private Sub Personnel_Equipe_A_Click()
    DoCmd.OpenForm "Personnel", acNormal, "Quart A"
    DoCmd.Maximize
    End Sub

    A moins de créer une requête et un formulaire part quart je ne vois pas d'autre solution plus simple.

    L'un de vous aurait-il une meilleure idée ?

    Cordialement,

    J. VAUTIER

  2. #2
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Je suppose que tu utilises openargs lors de l'ouverture de ton formulaire pour appliquer un filtre a ta source de données.
    L'option 'Afficher tous les enregistrements' du menu contextuel retire ce filtre.

    Une piste de solution : travailler la source de données de ton formulaire.
    Il s'agit de faire en sorte que la source de données du formulaire ne contienne que les données que le chef de quart peut voir.
    Comme il n'y a pas de filtre, l'option 'Afficher tous les enregistrements' ne modifiera pas la liste des données.

    La manière la plus simple est de créer 4 requêtes, une par quart et de sélectionner celle qui sera attribuée au formulaire lors de son ouverture en se fondant sur openargs.
    Une manière plus jolie, utiliser une requête avec la valeur du quart en paramètre

  3. #3
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    la réponse de Julien Dufour est correcte, je rajoute simplement qu'il n'est pas nécéssaire de créer 4 requêtes, il est possible de modifier par SQL la source de la requête.
    Il y a un tuto sur le SQL et tu trouvera les codes dans la FAQ.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Pour résoudre le problème j'ai mis le code suivant :

    Private Sub Personnel_Equipe_C_Click()
    DoCmd.OpenForm "Personnel"
    DoCmd.Maximize
    Forms![Personnel].Form.RecordSource = "select * from PERSONNEL WHERE QUART ='C'"
    End Sub

    Merci à tous deux pour vos réponses qui m'ont permis de réfléchir dans la bonne direction.

    Bonne journée.

    J. VAUTIER

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

Discussions similaires

  1. [SoapUI] Comment tester un WebService avec des requêtes différentes
    Par houpli dans le forum Tests et Performance
    Réponses: 0
    Dernier message: 11/05/2012, 13h10
  2. Réponses: 2
    Dernier message: 30/10/2008, 18h30
  3. Réponses: 2
    Dernier message: 25/07/2007, 11h24
  4. [Requête] Union de 2 tables avec des colonnes différentes
    Par ceuce dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/05/2007, 17h04
  5. Réponses: 2
    Dernier message: 08/05/2006, 21h08

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