Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2011, 17h47   #1
Membre actif
 
Avatar de Souriane
 
Femme Guylaine C.
Assistant aux utilisateurs
Inscription : septembre 2009
Messages : 157
Détails du profil
Informations personnelles :
Nom : Femme Guylaine C.
Âge : 39
Localisation : Canada

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

Informations forums :
Inscription : septembre 2009
Messages : 157
Points : 153
Points : 153
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
Souriane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h35   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 19h25   #3
Membre actif
 
Avatar de Souriane
 
Femme Guylaine C.
Assistant aux utilisateurs
Inscription : septembre 2009
Messages : 157
Détails du profil
Informations personnelles :
Nom : Femme Guylaine C.
Âge : 39
Localisation : Canada

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

Informations forums :
Inscription : septembre 2009
Messages : 157
Points : 153
Points : 153
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
Souriane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 20h07   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/05/2011, 11h07   #5
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
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 :
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…
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/06/2011, 17h49   #6
Membre actif
 
Avatar de Souriane
 
Femme Guylaine C.
Assistant aux utilisateurs
Inscription : septembre 2009
Messages : 157
Détails du profil
Informations personnelles :
Nom : Femme Guylaine C.
Âge : 39
Localisation : Canada

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

Informations forums :
Inscription : septembre 2009
Messages : 157
Points : 153
Points : 153
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 :
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" :-(
Souriane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 23h12   #7
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
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

Citation:
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).
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/06/2011, 18h19   #8
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
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
Type de fichier : zip reglement.zip (30,6 Ko, 3 affichages)
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/07/2011, 16h24   #9
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h24.


 
 
 
 
Partenaires

Hébergement Web