|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Julien Ingénieur qualité méthodes Inscription : juillet 2009 Messages : 53 ![]() |
Bonjour, voici la configuration de ma table :
Relationship_critere champ.JPG Je vais décrire les realtions en 2 parties : 1/ - Commandes (T_PO) - Envois (T_Shipments) - Items (T_Items) Commandes 1-----oo Envois 1-----oo Produits 2/ - Catégories (T_Categories) - Sections (T_Sections) - Famille de produit (T_ProductFamilies - Produits (T_Products) Categories 1-----oo Sections 1-----oo Product Families 1-----oo Products Ces 2 parties sont reliées par les tables "Items" et "Products" Products 1-----oo Items La 1ère partie concerne l'insertion des commandes. J'ai créé un formulaire très simple basé sur "Commande" qui contient un sous formulaire (datasheet) "Envois" qui lui même contient un sous formulaire (datasheet) "Items". Ce qui nous donne : - Commande : formulaire - Envois : sous-formulaire - Produits : sous sous-formulaire La 2ème partie concerne la création de chaque produit dans la base de données. Pour enregistrer des commandes, les utilisateurs doivent sélectionner le produit correspondant, si le produit n'existe pas, l'administrateur devra le créer ... Ma base de données est splittées en 2 parties : les data d'un côté et les formulaires/requêtes de l'autre. Notre fichier "data" est sur notre serveur et chaque utilisateurs possède son propre fichier "formulaires/requêtes'' sur son PC. En fonction de chaque utilisateurs j'aimerai donner des accès spécifiques. Pour simplifier il y a un utilisateur par Catégorie. Je voudrais que lorsque ces utilisateurs enregistrent des commandes, ils ne puissent voir que celles qui appartiennent à leur catégorie. Le problème est qu'entre le formulaire "Commande" (T_PO + T_Shipments + T_items) et la table "Categories" il y a beaucoup "d'obstacles". T_PO 1-----oo T_Shipments 1-----oo T_items oo-----1 Products oo-----1 Product Families oo-----1 Sections oo-----1 Categories J'ai essayé plusieurs méthodes mais sans succès, en fait j'aimerai surtout savoir si ce que je souhaite faire est réalisable. Merci ! |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 472 ![]() |
Comment sais-tu qu'un utilisateur est d'une catégorie donnée ?
Comment sais-tu qu'une commande est d'une catégorie donnée ? En fonction des produits qu'elle contient ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 | |
|
Candidat au titre de Membre du Club
![]() Julien Ingénieur qualité méthodes Inscription : juillet 2009 Messages : 53 ![]() |
J'ai une table "employés" où chaque personne est lié à une catégorie mais n'ayant pas de système d'authentification personnalisé ça ne servira pas je pense. Je crois que mettre un système d'authentification personnalisé avec mot de passe sur Access est assez compliqué non ?
Niveau sécurité ma base n'est pas terrible, j'ai juste un mot de passe à l'ouverture (un unique mot de passe ...) Ce que je souhaitais c'est créer un fichier ACCESS "interface" personnalisé pour chaque type d'utilisateur. C'est long et laborieux c'est vrai mais peut être le plus simple et plus rapide à mettre en place. Citation:
Les tables "catégories", "sections" et "product families" sont des listes en fait que moi seul peut modifier. Chaque section est déjà liée à une catégorie. Et chaque famille de produit à une section. Donc les familles de produits sont liés à la catégorie par la section. Les utilisateurs renseignent donc d'abord dans la base les références de nos produits. Pour cela ils le vont dans le formulaire "Produits" où ils mettent la référence et sélectionnent la famille de produit. La référence produit sera donc liées à une catégorie. Ensuite pour chaque commande, les utilisateurs lancent le formulaire "Commande". Pour simplifier ils renseignent le numéro de commande ... ensuite dans le sous formulaire "Envois", le type d'envoi, container ... et dans le sous sous formulaire "Items", ils sélectionnent dans la liste le ou les produits dans chaque envoi et renseignent les quantité, prix, ... Honnêtement je pense qu'un système d'authentification par type d'utilisateur serait préférable mais je n'ai aucune connaissance, je ne sais pas si c'est faisable et surtout si c'est facile ou non à mettre en place. |
|
|
|
00
|
|
|
#4 | |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 472 ![]() |
Citation:
On peut facilement récupérer l'identifiant de l'utilisateur sur le réseau, c'est une seule instruction (user=environ$("UserName")). Et faire un simple écran de connexion est très facile aussi. Après, on peut ainsi facilement définir ce qu'on va afficher ou pas. Ce que je n'arrive pas a saisir c'est à quel moment tu sais si une commande est d'une catégorie ou d'une autre. Après il suffit de ne présenter que les éléments qui sont dans la catégorie voulue, avec une requête c'est assez simple. L'interdiction de voir les commandes des autres catégories est-elle de niveau légale ou d'affaire (du genre tu as une amende ou/et un procès si quelqu'un le sait) ou est-elle de niveau simplement pratique pour ne pas surcharger l'utilisateur d'info qui ne lui sont pas utiles ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
|
00
|
|
|
#5 | ||||
|
Candidat au titre de Membre du Club
![]() Julien Ingénieur qualité méthodes Inscription : juillet 2009 Messages : 53 ![]() |
Citation:
Citation:
En effet dans mon entreprise les utilisateurs se connectent sur le réseau à l'aide d'un identifiant et d'un mot de passe. Par contre il faudrait que tu me guides un peu sur la procédure car je suis complètement novice. Citation:
La commande est liée à une catégorie par le biais du produit qui est lié à une famille de produit, section et catégorie. Comme je disais entre la table "Commande" et la table "catégorie, il y a beaucoup d'intermédiaires ... Autre possibilité aussi que je n'ai pas mentionné, chaque envoi (Shipment) est lié à un responsable (champ "Shipments_Manager" lié à la table "T_Employees". Et chaque responsable est lié à une catégorie, cf screen ci-dessous. Passer par les responsables simplifierai sûrement les choses non ? relation ship-employees-cat.JPG Citation:
Dans le cas de la saisie, l'intérêt est de ne pas surcharger l'utilisateur comme t'as dit mais aussi d'éviter que quelqu'un modifie les données d'une personne d'une autre catégorie sans s'en rendre compte (lié à un manque de savoir chez les utilisateurs). Par exemple notre formulaire commande affiche les commande par ordre croissant, ça peut paraître surprenant mais les utilisateurs souvent "oubliaient" qu'il fallait cliquer sur "Nouveau" pour ajouter une nouvelle commande. Il est déjà arrivé qu'ils modifient entièrement une commande existante pour insérer la leur. En ne voyant que leur commande, si ce cas arrivait ils ne pourront s'en prendre qu'à eux même et devront ressaisir la commande supprimée. Le gros problème de ce genre d'erreur pour le moment est qu'on n'a aucune traçabilité, nous sommes incapables de dire qui a fait quoi. |
||||
|
|
00
|
|
|
#6 | |||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 472 ![]() |
Citation:
ex de code qui récupère le code et la catégorie de l'utilisateur et les rends disponible pour toute l'application. Code :
Comme tes utilisateurs sont répartis par catégorie, si un utilisateur crée une commande tu sais immédiatement quelle est la catégorie de la commande. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|||
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Julien Ingénieur qualité méthodes Inscription : juillet 2009 Messages : 53 ![]() |
Bonjour, désolé pour le temps de réponse mais je suis pas mal occupé en ce moment.
Le problème de rajouter une catégorie à la commande est la "double saisie" mais aussi qu'une commande peut appartenir à plusieurs catégories. Pour le moment nous avons eu maximum 2 catégories par commande mais il se peut qu'à l'avenir une commande contienne 3 catégories. Dans ce cas je devrais créer 2 champs catégories dans ma table et la plupart du temps un des champs restera vide. Je rêve peut être mais, le produit étant indirectement lié à une catégorie et les utilisateurs sélectionne les produits de chaque commande à l'aide de la table "items", existerait-il un moyen pour extraire la catégorie et la lier directement à la commande ? Pas évident à expliquer désolé Mais au final chaque commande est indirectement liée à une ou plusieurs catégorie donc pour éviter les saisies multiples et rébarbatives, j'essaie de trouver une solution par ce biais. Pour la partie authentification, je ne suis trop novice et j'avoue ne pas bien comprendre mais je regarderai plus en détail plus tard. Pour expliquer la situation en détail, pour filtrer les informations, je dois créer un fichier "interface" par personne (une 20aine). Dans ces fichiers je ne donne accès qu'au(x) formulaire(s) dont les gens ont besoin et j'ai modifié chaque requête pour mettre des critères. Par exemple un filtre sur les produits en fonction es catégories, comme ça la personne qui travaille dans le département Audio Video, ne verra que les produits audio video. Avant tout le monde voyait tous les produits, ce qui était inutile et surtout peu pratique (la liste étant très très longue). Seul problème, dès que je fais une modification sur ces formulaires, je dois le faire 20 fois. Il faudrait que je trouve un moyen pour n'utiliser qu'un fichier "interface" et créer des accès pour chaque personne sans forcément devoir créer 5 fois le même formulaire pour filtrer des données. |
|
|
00
|
|
|
#8 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 472 ![]() |
Pour résoudre ton problème de filtrage par personne tu peux simplement faire une table :
ClefPersonne ClefCatégorie et inclure cette table dans tes requêtes de sélection de produit avec un des tes critères à [ClefPersonne]=LireClefPersonne(). Code :
Pour associer ta commande à ta catégorie tu pourrais avoir une table : ClefCommande ClefCategorie qui te permettrai d'associer une commande à une ou plusieurs catégories. Mais pour déduire la catégorie de la commande à partir des produits il faut qu'l y ai des produits dans la commande. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com