|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() |
Bonjour,
Je suis stagiaire technicien dans un grand groupe automobile. Ma mission : Créer une Base De Données sous Access regroupant toutes les informations des différents services de production : qualité, maintenance, production1, production2. C'est une BDD remis à jour quotidiennement par les opérateurs productions (saisie de la production quotidienne par formulaire dans une table) et utilisé quasi-quotidiennement par les managers pour ressortir des indicateurs productions calculés à partir de la table saisie par les opérateurs (requêtes puis états) Après une semaine et demie de travail intensif, plusieurs questions au niveau de la conception globale restent pour moi insoluble : -Cette BDD est donc multiutilisateur, comment adapté la structure de la BDD à cette contrainte? Par exemple, j'ai décidé qu'il aurait pour un unique formulaire pour les tables stockant les données de production. Ce formulaire sera accessible seulement d'un seul poste du service concerné. Or, Cette même table de données peut être sollicitée avec des requêtes qui permettent au manager d'avoir ses états spécifiques. De même, ces états ne seront accessibles que sur le poste du manager. Voici le problème : si un opérateur et le manager se servent simultanément de la BDD Celle-ci sera telle accessible pour les deux utilisateurs. J’ai entendu dire, en fouillant sur le site, qu’il faut créer plusieurs bases de données : une BDD sur le réseau contenant les données (tables de données) et des BDD sur chaque poste contenant les applications spécifiques (formulaires, états). -Est-il utile ou plutôt pertinent d’utiliser VBA et SQL pour créer des modules spécifiques ? En effet, à partir de la table je sais effectuer différents tris (date, pièce) puis des calculs tout ca grâce aux requêtes. Le problème étant que pour ressortir l’indicateur voulu il me faut souvent plusieurs requêtes consécutives. Si bien que j’ai actuellement sur ma Base test Access déjà plus de 20 requêtes pour seulement le calcul de 3 indicateurs. Cette méthode est-elle dangereuse ? Faut-il créer des modules (VBA SQL) à la place de ses requêtes emboîtés ? Quelles sont les avantages de la solution : faire la BDD Access sous VBA ? Est-ce que ce n’est pas une perte de temps ? Merci de votre aide, j’avoue que je suis un peu bloqué. Si un professionnel ayant déjà effectué une BDD pouvait m’aider à cerner tous les enjeux d’une telle tâche cela m’aiderai bien car tous les jours je m’aperçois de nouvelles contraintes et j’ai peur de commencer à réaliser une BDD qui pourrait par la suite s’avéré fausse. Ici, je n’ai pas de tuteur et travaille en total autonomie ce qui rend la recherche de solutions dures, mais c’est assez stimulant d’être déjà dans la peau d’un ingénieur chercheur de solutions Merci d’avance et désolé pour ce texte très très long. Ps : Je trouverai intéressant de trouver une section où sont regroupés différents témoignages et enseignement sur les applications Access pour l'entreprise (notamment l'aspect réseau client/Serveur). Ps2 : sans nul doute, si j’arrive à relever le challenge je me ferai un plaisir de poster mes différents livrables (cahier des charges de besoin et de réalisations) |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Bonjour,
Cela fait un certain nombre de questions Je ne peux pas répondre à toutes mais voici déjà quelque pistes : Citation:
Citation:
Maintenant, il n'est pas nécessaire de développer plusieurs versions de la base frontale (une spécifique pour le manager, etc..). Cela peut se régler au niveau de la sécurité d'Access, en créant des groupes d'utilisateurs qui n'auront accès qu'à certaines parties de l'application. Le tuto de référence est là. Cela te fait déjà un peu de lecture... Pour tes autres questions, je laisse le soin à plus éclairer que moi d'apporter leurs contributions / témoignages. Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() |
Merci beaucoup
Il est vrai que mon message n'est pastrès synthétique mais je suis en pleine réflexion (ou plutôt en plein flou j'ai un peu abusé désolé en tout cas, merci d'avoir pris le temps de le lire |
|
|
00
|
|
|
#4 | |
![]() ![]() |
Re,
Citation:
Par contre, je ne peux trop te donner d'indications concernant les requêtes... Mais si tu rencontres des problèmes avec, en postant le SQL, tu auras à coup sûr de l'aide... Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
quand 3 indicateurs nécessitent 20 requêtes il faut s'interroger sur la démarche
est il possible de diminuer sérieusement le nombre de requêtes en utilisant les sous requêtes, les requêtes union,des fonctions perso, ou en faisant appel à des fonctions de domaine? ne peut on pas unifier certaines données en élevant le niveau d'abstraction ? cela se traduit le plus souvent en remplacant n champs par deux (exemple rub janvier févier..décembre par rub mois valeur) ? ensuite il reste deux solutions chainer les 20 requêtes dans une macro (cette solution unaniment proscrite est celle que je préfère, elle est à mon avis la plus simple à maintenir et la plus lisible ) écrire une fonction (ou sub) soit qui lancera les 20 requêtes (autant passer par les macros) soit qui utilisera du pur code vba (dao de préférence) , cette solution plus couteuse en temps permet cependant une souplesse supplémentaire auto-adaptative
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
Domi2 t'a donné à lire... c'est une lecture intéressante.
mais je préciserais qq meme: la sécurité c'est utile qd il y a de l'insécurité c'est pas forcemment utile au sein d'une équipe car sa complique la gestion du projet et de son utilisation. le fait d'avoir plusieurs utilisateurs ne représente qu'un champ "ID" dans la saisie des données, d'une table d'utilisateurs (NomUtilisateur, ID) et un formulaire de saisie d'utilisateur: pas de quoi fouetter un chat. s'il n'y a pas plus de 10 postes on peut avoir un programme (frontal) sur chaque poste qui vont se rattacher aux tables du poste principale ou se trouve la base (dorsal) sans avoir de pb. au de la de 10, le trafic reseau pose pb et il est conseiller de connecter au serveur seulement quand il y a besoin. on ne maintient donc plus ce rattachement. il faut en plus gérer le problème des mis à jour simultanés sur les tables et gérer donc les verrous sur les enregistrements. dans tous les cas access n'est plus trop recommandé... VBA contre Requete: le calcul peut peut être obtenu par les fonctions ADO en VBA intérêt: .traitement plus sofistiqué parfois impossible à faire en SQL. .une fois compilé la base compilé en MDE > impossible d'accéder à la fonction = + de sécurité. inconvénient: connaitre le VBA. calcul par requete: .plus simple à mettre en oeuvre surtout avec l'aide du QBE d'access. .SQL est plus simple: moins de ligne qu'en VBA et facile à comprendre c'est donc plus facile pour la maintenance, (il faut pas oublier qu'on est toujours amener à un moment ou un autre à revenir dessus...) inconvénient: c'est le bordel qd il y trop de requete. je conseil qd meme de garder tes requetes et de voir à les simplifier et réduire leur nombre par des imbrications dans le sql. bonne lecture... ps: random a posté entre temps... donc tu sais ce qui reste à faire... |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
salut random,
je me disais qd tu parles de mettre les requetes en macro c'est seulement possible pour des requetes actions, non? je n'utilise jamais les macros alors je vois pas comment on peut faire une requete qui utiliserait une autre requete dans une macro à moins de crée temporairement la requete intermédiaire. merci pour les précisions. |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
il s'agit évidemment de requête action
ou de la création de paramètres réutilisés par une requête sélection à la limite s'il existe 7 requêtes sélection pour effectuer un traitement on peut le remplacer par une seule dans la plupart des cas à propos du traitement par requêtes et du désordre généré par un grand nombre de requêtes il existe des groupes et si un traitement s'appuie sur 20 requetes il est judicieux de créer un groupe montraitement les insérer dans le groupe glisser déplacer les renommer éventuellement dans le groupe puis dans le group requête visible non
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
le "désordre généré par un grand nombre de requêtes" je l'ai résolu en mettant mes requetes directement dans la source de mes forms.
j'utilise jamais les groupes non plus j'ai donc fait ce que tu dis par curiosité et je ne trouve pas comment faire pour réafficher mes requetes une fois que je les ai masqués ![]() tu m'aide? merci.
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
Outils/Option/Affichage/Objets masqués (oui/non)
pour ceux qui voudrais savoir... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com