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

  1. #1
    Membre à l'essai
    Edition d'une liste triée à partir d'un état natif d'ACCESS
    Bonjour à tous,
    Tout d'abord je vais commencer par me présenter, je m'appelle Olivier, 46 ans, et je vis dans l'Orne. Je dirige des usines et depuis fort longtemps je songe à utiliser ACCESS pour gérer entre autres les plans d'actions qu'on peut avoir dans tous les sens et qui se perdent au fil du temps...
    Je me suis donc mis à ACCESS, je précise que je ne suis pas du tout issu de l'informatique mais plus de la production, donc je m'excuse par avance si les termes que j'utilise ne sont pas du bon jargon informatique, mais avec le temps je progresserai.
    Pour exposer mon soucis actuel :
    J'ai trouvé dans ACCESS un exemple de base de données de gestion de projets qui ressemble grandement à ce que je veux faire, sauf que bien sûr je souhaite la modifier à mon idée, ce que j'ai commencé à faire.
    Il existe deux états dans cette base native :
    - Tâches affectées à
    - Tâches du Projet
    pour lesquels je souhaiterais pouvoir, à partir d'un formulaire, "filtrer" les actions d'une seule personne ou d'un seul projet à partir d'une liste déroulante.
    J'ai regardé sur le forum et grâce aux différents posts j'arrive maintenant à le faire en partant d'états que je crée moi-même, en utilisant des macros qui ouvrent un état à partir d'une condition qu'un champ soit égal à la modifiable de la liste, mais je n'arrive pas à le faire avec les états de la base fournie par ACCESS.
    Ci-dessous ce que donne l'édition de l'état quand je le lance et ce qu'il donne quand je le lance à partir du filtre par la liste déroulante :


    Est-ce possible de m'aider ?
    Merci d'avance.
    Olivier

  2. #2
    Expert éminent
    bonjour et bienvenue sur le forum,
    Est-ce possible de m'aider ?
    oui, il faudrait montrer le code, soit en copiant/collant le code entre les balises de code (icône # du menu message) si c'est du VBA, soit par impression d'écran si c'est une macro Access
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  3. #3
    Membre à l'essai
    Ok alors voilà la macro :


  4. #4
    Expert éminent
    c'est une syntaxe particulière (et pas très logique): il faut mettre un = juste devant [Etats]!...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  5. #5
    Membre à l'essai
    Citation Envoyé par tee_grandbois Voir le message
    c'est une syntaxe particulière (et pas très logique): il faut mettre un = juste devant [Etats]!...
    Qu'entends-tu par pas très logique ? Tu me conseillerais quelle autre méthode ?

    J'ai essayé comme tu m'as dit mais ça donne une erreur :




  6. #6
    Expert éminent
    Qu'entends-tu par pas très logique ?
    laisse tomber, je me suis trompé: en macro certains paramètres nécessitent le = devant pour que cela marche, ce n'est pas le cas ici.

    En fait, il suffit d'enlever [État]![Tache du projet]! dans le paramètre Where
    On doit juste avoir: [Project Name]=[Formulaires]![État des Actions]![Modifiable2]


    et Affichage doit avoir: "Aperçu avant impression" qui correspond au rendu final de l'état
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  7. #7
    Membre à l'essai
    On progresse nettement merci !!
    Désormais quand je lance la macro suite au filtre ça me demande de renseigner le nom du projet, mais j'ai déjà eu ça et j'avais réussi à le résoudre sauf que je ne sais plus comment :


  8. #8
    Expert éminent
    vérifie qu'il y a bien des crochets [ ] autour de "Project Name" dans le source contrôle du champ dans l'état ou/et dans la source de l'état

    [EDIT:]afin d'éviter des soucis, il est fortement conseillé de ne pas mettre des caractères spéciaux ou accentués (+ - & = ; *, é è ù ... ), des espaces ou utiliser des mots réservés (Name, Nom, Table, Select etc...) pour nommer les objets ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  9. #9
    Membre à l'essai
    Citation Envoyé par tee_grandbois Voir le message
    vérifie qu'il y a bien des crochets [ ] autour de "Project Name" dans le source contrôle du champ dans l'état ou/et dans la source de l'état
    On dirait qu'on s'approche. La source contrôle s'appelle Nom du Projet et non pas Project Name. J'ai essayé de remplacer [Project Name] par [Nom du Projet] dans la macro mais ça ne fonctionne pas


  10. #10
    Expert éminent
    met des crochets: [nom du projet]
    à l'avenir met des soulignés _ à la place des espaces dans le nom des champs ou des tables

    Project et Name sont des mots réservés

    afin d'éviter des soucis à l'avenir, il est fortement conseillé de ne pas mettre des caractères spéciaux ou accentués (+ - & = ; *, é è ù ... ), des espaces ou utiliser des mots réservés (Name, Nom, Table, Select etc...) pour nommer les objets ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  11. #11
    Membre expert
    Salut,
    En image où cboprojet a pour contenu
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    SELECT ID, [Nom du projet]
    FROM Projets

  12. #12
    Expert éminent
    bonjour,
    J'ai essayé de remplacer [Project Name] par [Nom du Projet] dans la macro mais ça ne fonctionne pas
    d'après la liste des champs de l'état, le nom du contrôle est bien Project Name, il faut juste mettre des crochets autour:



    Mais c'est bien ID qu'il faut prendre pour la comparaison
    ( hyperion13)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  13. #13
    Membre expert

    Sinon il y a une variante où le contenu de cboprojet serait
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    SELECT [Nom du projet]
    FROM Projets

  14. #14
    Membre à l'essai
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,

    d'après la liste des champs de l'état, le nom du contrôle est bien Project Name, il faut juste mettre des crochets autour:



    Mais c'est bien ID qu'il faut prendre pour la comparaison
    ( hyperion13)

    Pourtant j'ai bien mis des crochets mais ça me génère toujours la même erreur :


  15. #15
    Membre à l'essai
    Citation Envoyé par hyperion13 Voir le message

    Sinon il y a une variante où le contenu de cboprojet serait
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    SELECT [Nom du projet]
    FROM Projets
    Merci hyperion13.
    J'essaie de comprendre. On aurait donc cboprojet qui serait la variable associée à une liste déroulante, où cboprojet contiendrait un code filtrant ? c'est ça ? Comment ça fonctionne ?

  16. #16
    Membre expert
    En attache une bdd exemple
    Ouvrir Formulaire1, il y a 2 combobox. L'une ouvre l'état via ID (Post#11), l'autre via Nom du projet (Post#13) (voir propriété Contenu de chacune d'elles)

  17. #17
    Membre à l'essai
    Citation Envoyé par hyperion13 Voir le message
    En attache une bdd exemple
    Ouvrir Formulaire1, il y a 2 combobox. L'une ouvre l'état via ID (Post#11), l'autre via Nom du projet (Post#13) (voir propriété Contenu de chacune d'elles)
    Top ça marche nickel et très simple !!
    J'en ai profité pour faire aussi un filtre des actions par employé par la même occasion, et là je suis en train de modifier la structure des formulaires car il y a quelques bugs dans la base native.
    Je te joins en MP ce que ça donne, ça me ferait plaisir que tu me dises ce que en penses car j'ai encore plein de boulot