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 :

Nouveau formulaire chaque fois que procédure est modifiée?


Sujet :

Access

  1. #1
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut Nouveau formulaire chaque fois que procédure est modifiée?
    Pouvez-vous m'aider à réfléchir?

    Je travaille pour une ville. Nous avons une "BD des règlements", dans laquelle tous les projets de règlements doivent être entrés. Le gouvernement provincial oblige des étapes dépendemment du type de règlement. Exemple, un avis de motion doit être déposé au conseil, un avis doit être envoyé à tel organisme, une assemblée de consultation doit être tenue, le règlement doit être adopté, etc.

    Pour chaque étape, on doit entrer une date dans la BD. Car on fusionne des lettres, des avis publics, des certificats, etc.

    J'ai créé un formulaire qui permet d'entrer les dates dans l'ordre de la procédure. Voici une idée très (très!) sommaire de ce que j'ai (car dans certains type de règlement, il y a près de 30 étapes donc 30 dates!) :

    [FORMULAIRE 1]
    1. Avis de motion présenté [dateA]
    2. Adoption projet de règlement [dateB]
    3. Envoi lettre gouvernement [dateC]
    4. Publication avis public [dateD]
    5. Entrée en vigueur du règlement. [dateE]
    etc.

    Mais voilà que le gouvernement change la procédure. Ce n'est plus dans cet ordre qu'il faut faire. Maintenant, il faut faire (par exemple car c'est vraiment n'importe quoi ce que j'ai écrit!!):

    [FORMULAIRE 2]
    1. Avis de motion présenté [dateA]
    2. Envoi lettre gouvernement [dateC]
    3. Adoption projet de règlement [dateB]
    4. Entrée en vigueur du règlement. [dateE]
    5. Publication avis public [dateD]
    etc.

    Donc, mon formulaire doit être modifié, l'ordre des étapes n'étant plus le même. Voici le hic:

    J'ai besoin d'être capable de voir chaque règlement selon la procédure qui a été utilisée pour l'adopter.

    Donc si le règlement #500 a été adopté avec la procédure #1, je dois pouvoir le voir avec le formulaire 1. Et si le règlement #600 est adopté avec une autre procédure, je dois pouvoir le voir avec cette autre procédure.

    Ce que j'avais pensé faire, c'est d'avoir une page principale de formulaire qui me montre juste le numéro du règlement, son titre et le numéro de la procédure utilisée et que pour voir la procédure, il faut cliquer sur un bouton qui ouvre un autre formulaire en conséquence de ce qui se trouve dans le champ du numéro de la procédure utilisée.

    Mais cela fera que je pourrais me retrouver avec un assez grand nombre de formulaires. La procédure peut changer admettons 1 fois par année et j'ai une vingtaine de procédures de type de règlement différentes.

    Est-ce que ça fait du sens ce que je veux faire? (Est-ce que quelqu'un comprend mon charabia?!!) Si quelqu'un a une meilleure idée, je suis très ouverte. Des fois, à force de regarder l'arbre, je ne vois plus l'écorce et encore moins la forêt!

    Merci!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Souriane,

    Avant de parler de formulaire, il faut bétonner la structure des tables et leurs relations : le MCD, donc. Avec un MCD bétonné selon tes besoins, les formulaires/requêtes/états "coulent" tous seuls.

    Je ne connais pas VBA mais, si tu veux, je peux essayer de t'aider sur la conception de ta base de données.

    Tout d'abord
    Citation Envoyé par Souriane
    Le gouvernement provincial oblige des étapes dépendemment du type de règlement.
    ==> tu as voulu dire "indépendamment du type de règlement" ou "dépendantes du type de règlement" ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour Richard,

    Citation Envoyé par Richard_35 Voir le message
    Avant de parler de formulaire, il faut bétonner la structure des tables et leurs relations : le MCD, donc. Avec un MCD bétonné selon tes besoins, les formulaires/requêtes/états "coulent" tous seuls.
    Mes tables sont déjà montées. J'ai rien fait de bien compliqué. J'ai 3 tables. Une qui comprend toutes mes dates "réelles" (dates à laquelle l'étape s'est vraiment réalisée), une qui comprend mes dates "estimées" (il faut qu'on puisse prévoir quand le règlement entrera en vigueur donc on entre des dates estimées pour presque chacune des étapes) et une autre table qui comprend tout le reste : le # du règlement, sa description, son type, etc.

    Citation Envoyé par Richard_35 Voir le message
    tu as voulu dire "indépendamment du type de règlement" ou "dépendantes du type de règlement" ?
    Oui, je veux bien dire "dépendemment". Un règlement de zonage n'a pas la même procédure qu'un règlement d'emprunt ou qu'un règlement de vente de bien. Certains règlements sont simples comme bonjour mais d'autres ont une procédure très élaborée, et évidemment, ce sont ceux-là que le gouvernement s'amuse à changer la procédure!

    Tu es extrêmement gentil Richard d'avoir lu et répondu à mon message. Depuis quelques semaines je m'amuse à répondre moi aussi aux questions des autres surtout dans Word et je réalise que c'est beaucoup de travail et d'énergie (mais oh! combien valorisant quand on réussit à aider quelqu'un!) Alors gros merci!

    À plus tard!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Souriane
    Mes tables sont déjà montées. J'ai rien fait de bien compliqué. J'ai 3 tables .../...
    ==> peut-être faut-il les revoir afin de coller à ton cahier des charges et passer du mode "Excel amélioré" au mode "base de données".


    Citation Envoyé par Souriane
    Le gouvernement provincial oblige des étapes dépendemment du type de règlement.
    Citation Envoyé par Souriane
    Oui, je veux bien dire "dépendemment".
    ==> cela doit être une locution québécoise. Donc, la procédure dépend du type de règlement.


    Suggestion :

    Table Projet :
    - Id_Projet (clé primaire)
    - Libelle
    ...

    Table Type_Reglement :
    - Id_Type_Reglement (clé primaire)
    - Libelle
    ...

    Table Reglement :
    - Id_Projet (clé primaire)
    - Id_Reglement (clé primaire)
    - Id_Type_Reglement
    - Date_Reglement
    ...

    Relations :
    Projet 1---∞ Reglement, via Id_Projet ;
    Type_Reglement 1---∞ Reglement, via Type_Reglement.

    On continue dans cette voie ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 692
    Points : 57 244
    Points
    57 244
    Billets dans le blog
    41
    Par défaut
    Bonjour Souriane, Richard

    Je viens avec une proposition…

    Pour chaque règlement, des étapes sont validées : Reglement----valider(DateValidation)-----Etape

    Reglement-1------∞-ValidationEtape-∞--------1-Etape
    ValidationEtape(#idReglement, #idEtape, DateValidation)

    Un règlement suit une procédure :Reglement----suivre-----Procedure

    Reglement-∞-------1-Procedure

    Dans une procédure, les différentes étapes sont ordonnées : Procedure------ordonner(ordre)------Etape

    OrdonnerEtape(#idProcedure, #idEtape, Ordre)


    Au niveau IHM, je suppose que le plus simple à faire est de créer à nouveau un champ [OrdreValidation] dans [ValidationEtape] puis, lors de la création d’un nouveau règlement et du choix de la procédure, de pré-remplir les lignes de [ValidationEtape] avec la date du jour (où date à Null) selon l’ordre précisé dans [OrdonnerEtape] (sur clic d’un bouton par exemple on déclenche la requête de type Ajout du modèle ci-dessous).

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    INSERT INTO validationetape 
                (idreglement, 
                 idetape, 
                 datevalidation, 
                 ordrevalidation) 
    SELECT reglement.idreglement, 
           ordonneretape.idetape, 
           NULL, 
           ordonneretape.ordre 
    FROM   ([Procedure] 
            INNER JOIN ordonneretape 
              ON procedure.idprocedure = ordonneretape.idprocedure) 
           INNER JOIN reglement 
             ON procedure.idprocedure = reglement.idprocedure 
    WHERE  reglement.idreglement = [NumReglement ?];

    Une structure Formulaire (Reglement)/Sous-Formulaire (requête Reglement-ValidationEtape avec clause ORDER BY [OrdreValidation]) devrait alors faire l’affaire.

    A suivre…

  6. #6
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour!

    Ça m'a pris du temps à répondre à cause de cette toute petite phrase lourde de conséquence :

    Citation Envoyé par Richard_35 Voir le message
    ==> peut-être faut-il les revoir afin de coller à ton cahier des charges et passer du mode "Excel amélioré" au mode "base de données".
    Mais qu'est-ce qu'elle a ma BD? que je me suis dit! Alors je me suis mise à lire sur les BD. J'ai perdu connaissance quand j'ai vu l'ampleur du travail (ou des dommages, c'est selon!) et quand j'ai repris conscience, je me suis mis à m'instruire sur les BD en passant par le modèle relaltionnel, le conceptuel, les entités, les propriétés, les identifiants, les cardinalités, etc. J'en ai perdu mon latin! J'ai dû lire et relire! Le sujet m'intéresse mais mon cerveau s'embourbe rapidement! Alors, lentement, mais sûrement! Babystep!

    Citation Envoyé par Richard_35 Voir le message
    On continue dans cette voie ?
    Je ne suis pas sûre de la différence avec ce que f-leb a proposé…

    @f-leb, tout ce que tu as écrit avant la fenêtre ci-dessous, j'ai figuré, mais rendu ici là, je bloque :

    Citation Envoyé par f-leb Voir le message
    créer à nouveau un champ [OrdreValidation] dans [ValidationEtape] puis, lors de la création d’un nouveau règlement et du choix de la procédure, de pré-remplir les lignes de [ValidationEtape] avec la date du jour (où date à Null) selon l’ordre précisé dans [OrdonnerEtape] (sur clic d’un bouton par exemple on déclenche la requête de type Ajout du modèle ci-dessous).

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    INSERT INTO validationetape 
                (idreglement, 
                 idetape, 
                 datevalidation, 
                 ordrevalidation) 
    SELECT reglement.idreglement, 
           ordonneretape.idetape, 
           NULL, 
           ordonneretape.ordre 
    FROM   ([Procedure] 
            INNER JOIN ordonneretape 
              ON procedure.idprocedure = ordonneretape.idprocedure) 
           INNER JOIN reglement 
             ON procedure.idprocedure = reglement.idprocedure 
    WHERE  reglement.idreglement = [NumReglement ?];

    Une structure Formulaire (Reglement)/Sous-Formulaire (requête Reglement-ValidationEtape avec clause ORDER BY [OrdreValidation]) devrait alors faire l’affaire.

    A suivre…


    Voici comment j'ai planifié réorganiser ma BD. J'ai besoin de savoir si je suis sur la bonne route? J'ai une autre question plus bas.


    Règlement
    NoReglement (pk)
    TitreReglement

    Procedure
    idProcedure (pk)
    NomProcedure
    DebutEntreeVigueur
    FinEntreeVigueur

    TypeReglement
    idTypeReglement (pk)
    TypeReglement

    Etape
    idEtape (pk)
    Etape

    ValidationEtape
    (pk) [NoReglement] (fk)
    (pk) [idEtape] (fk)
    DateValidation
    OrdreValidation

    OrdonnerEtape
    (pk) [idEtape] (fk)
    (pk) [idProcedure] (fk)
    Ordre



    Pour le formulaire, je ne saisis pas comment je vais arriver avec ORDER BY à faire apparaître le formulaire différemment selon OrdreValidation…

    Tous vos commentaires sont les bienvenus. Si vous n'avez pas le temps de "m'expliquer", vous pouvez très bien me donner des pistes ou des mots-clés à chercher sur le net pour que je puisse continuer mes recherches et mon apprentissage. Je suis très autodidacte.

    Gros merci de votre temps

    Souriane !!

    P.S. Je voudrais bien vous mettre au printscreen de ma BD actuelle, mais le firewall d'où je suis ne me permet pas d'accéder à des sites de "filesharing" :-(
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 692
    Points : 57 244
    Points
    57 244
    Billets dans le blog
    41
    Par défaut
    Hello Souriane,

    Citation Envoyé par Souriane Voir le message
    Ça m'a pris du temps à répondre à cause de cette toute petite phrase lourde de conséquence...

    ...J'ai perdu connaissance quand j'ai vu l'ampleur du travail (ou des dommages, c'est selon!) et quand j'ai repris conscience, je me suis mis à m'instruire sur les BD
    2 mois d'arrêt et un coma, l'effet Richard

    Règlement
    NoReglement (pk)
    TitreReglement
    idProcedure (fk)
    Un formulaire principal de source "Reglement" avec un sous-formulaire de source SELECT * FROM ValidationEtape ORDER BY OrdreValidationpuis sur clic d'un bouton tu exécutes la requête INSERT (Comment utiliser en VBA une requête existante ?)

    Enfin, je crois que c'est ce que j'ai voulu dire, j'ai oublié de quoi on causait depuis et je retrouve pas le bout de fichier que j'avais fait à ton attention

    je reviendrais si besoin (mais où est donc ce #@¤ fichier).

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 692
    Points : 57 244
    Points
    57 244
    Billets dans le blog
    41
    Par défaut
    Ayai, j’ai retrouvé (voir fichier ci-joint)

    Citation Envoyé par Souriane
    [FORMULAIRE 1]
    1. Avis de motion présenté [dateA]
    2. Adoption projet de règlement [dateB]
    3. Envoi lettre gouvernement [dateC]
    4. Publication avis public [dateD]
    5. Entrée en vigueur du règlement. [dateE]
    etc.

    Mais voilà que le gouvernement change la procédure. Ce n'est plus dans cet ordre qu'il faut faire. Maintenant, il faut faire (par exemple car c'est vraiment n'importe quoi ce que j'ai écrit!!):

    [FORMULAIRE 2]
    1. Avis de motion présenté [dateA]
    2. Envoi lettre gouvernement [dateC]
    3. Adoption projet de règlement [dateB]
    4. Entrée en vigueur du règlement. [dateE]
    5. Publication avis public [dateD]
    etc.

    Pour le 1er règlement, tu choisis la procédure 1 et tu cliques sur le bouton.
    Même principe pour le 2ème règlement avec la procédure 2.

    Voilà pour le principe, ce n'est qu'un prototype…

    Tu te sens comment? Des vertiges ?
    Fichiers attachés Fichiers attachés

  9. #9
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Souriane et Fabien,

    Souriane, ta prise de tête BD comateuse a porté ses fruits (merci Fabien, au
    passage... ).

    Après un petit moment de remémorisation, je dirais : "pas mieux", côté conception.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/09/2014, 16h57
  2. Réponses: 6
    Dernier message: 28/02/2009, 15h57
  3. decrementer selection chaque fois que macro est appelée
    Par joeyd dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 28/09/2007, 18h05
  4. Réponses: 10
    Dernier message: 02/10/2006, 13h36
  5. Réponses: 10
    Dernier message: 17/05/2006, 19h55

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