|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Bonjour,
J'aurai besoin d'avis multiples sur le problème suivant. J'ai conçu une application Access que j'aimerais mettre en réseau. Celon les profils qui se connectent, soit ils ont accès au manager d'access càd là où on voit les tables, les requêtes,les macros... soit ils voient uniquement le formulaire qui s'exécute au démarrage. J'ai écrit le script celon le profil, mais si le dernier profil a une autorisation 2, et que moi j'ai un profil avec autorisation 1, la première fois c'est autorisation 2, il faut que je sors et que j'entre à nouveau afin que mes paramètres s'adaptent. Je ne sais pas si j'ai été clair. Ma question est comment rendre mon appli multi-utilisateur car parfois j'ai un problème d'accès si trois personnes se connectent en même temps, Comment sauvegarder les paramètres des utilisateurs pour ne chaque fois sortir et entrer à nouveau? Merci de vos avis. Bien à vous. |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() arnaud technicien méthodes, dév web, dév & admin SGBD Inscription : juillet 2002 Messages : 630 ![]() |
La FAQ ne répond pas à ton pb ?
__________________
Que la Force soit avec vous ! autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python. autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois. |
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Je pense que je peux en tirer qqch.
Mais simplement je voulais avoir des avis, comment m'y prendre et sur quel point dois-je faire attention. Et quelle est la meilleure solution. Merci de ton aide. Bien à toi. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() arnaud technicien méthodes, dév web, dév & admin SGBD Inscription : juillet 2002 Messages : 630 ![]() |
mais dis-nous comment tu gères ta sécurité d'abord stp
__________________
Que la Force soit avec vous ! autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python. autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois. |
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Je ne sais pas si le terme sécurité est bien utilisé.
Mon problème est expliqué dans mon premier post. Je ne sais pas s'il est compréhensible. Bien à toi. |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() arnaud technicien méthodes, dév web, dév & admin SGBD Inscription : juillet 2002 Messages : 630 ![]() |
ce que j'ai compris c'est que tu as mis en place ta propre securite alors qu'access te l'offre pratiquement toute faite.
__________________
Que la Force soit avec vous ! autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python. autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois. |
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Etienne PailleretDéveloppeur VBA Inscription : mars 2004 Messages : 748 ![]() |
J'ai pas l'impression de tout comprendre, ni à la question exacte (il semble ??? que tu travailles par macro, pas par VBA ?), ni à certaines réponses ??
Bref, il faut que - tu ailles dans Outils - Sécurité - Gestion des utilisateurs et des groupes... - tu crées 2 ou 3 groupes : un par niveau d'autorisations, - tu crées au moins un utilisateur par groupe, ou mieux : un utilisateur pour chaque personne qui ouvrira ton appli, puis tu mettras chacun dans l'un des groupes, - à l'ouverture de l'appli, ++ tu exécutes une 1ère fonction genre InitApp(), en VBA, ++ tu y testes le groupe auquel appartient CurrentUser, ++ tu l'autorises à afficher la fenêtre Base de données ou pas, etc. |
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Salut Papy Turbo,
Merci de ton aide. La gestion de mes users se fait par une table. Je commence à mieux comprendre ta solution. A ton avis, dois-je créer un MDE pour le placer en local? Comment gérer la concurence d'accès? Le problème que j'ai c'est si la dernière personne n'est pas autorisé de voir la fenêtre base de données et que moi je me connecte à cette base, je dois sortir et entrer pour voir apparaître à nouveau la fenêtre access. Bien à toi. |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : août 2004 Messages : 15 ![]() |
a tu un exemple ou un endroit ds le site ou l'on peut trouver un exemple de function InitApp() je cherche ms trouve pas la mienne ne marche pas
merci |
|
|
00
|
|
|
#10 | |
![]() ![]() ![]() |
Citation:
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
|
00
|
|
|
#11 | |||
|
Membre Expert
![]() ![]() Etienne PailleretDéveloppeur VBA Inscription : mars 2004 Messages : 748 ![]() |
Gourouni :
Essaye de prendre une question à la fois, parce que ça devient très confus... Citation:
Citation:
- créer un MDE ne sert qu'à protéger ton code. On verra ça plus tard, quand on aura compris ce que tu veux et trouvé la meilleure solution. - placer une base en local ? explique nous l'architecture : tu es en monoposte, en multi-utilisateurs sur un réseau local ? combien ?... Citation:
- c'est Access qui gère les accès concurrents à une base Jet partagée sur un serveur, - dans chaque application (sur chaque poste), tu gères la sécurité de chacun sans que cela puisse influer sur les autres... À moins que le problème ne vienne de la table citée plus haut ? Dis donc, j'espère que tu as séparé la partie "Tables" de la partie "Application" ? nenette : comme dit Maxence, ce n'est qu'un nom typique (que j'utilise depuis 15 ans !) de fonction que tu mets dans un module standard et que tu appelles depuis la macro Autoexec.bat, par exemple. |
|||
|
|
00
|
|
|
#12 | |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Salut Papy Turbo,
Merci pour ton aide. Je vais essayer d'être plus clair dans mes questions et demandes. Plan de travail: Au départ, j'avais créé une base principale sur mon poste, où je récoltais par email les données des différents utilisateurs. Maintenant, on m'a demandé de mettre l'application sur un réseau. Il faut savoir que les personnes qui se connectent, peuvent voir uniquement les données qui leurs concernent. Une personne qui n'a pas accès à l'application, doit être ejecter de l'application. Je veux que les utilisateurs ont accès uniquement aux différents formulaires et pas la fenêtre access. Etant donné qu'ils n'ont pas accès aux données des autres, je n'ai pas envi qu'ils vont les visualiser par ce moyen. Réponse aux questions: - Nombre d'utilisateur max 10 personnes. - actuellement, je stockes les noms des personnes dans une table qui se trouve dans la base centrale (je pense que c'est risqué comme ça). Citation:
J'espère avoir été plus clair maintenant. Un grand merci de votre aide. Bien à vous. |
|
|
|
00
|
|
|
#13 | |
|
Membre chevronné
![]() arnaud technicien méthodes, dév web, dév & admin SGBD Inscription : juillet 2002 Messages : 630 ![]() |
Citation:
__________________
Que la Force soit avec vous ! autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python. autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois. |
|
|
00
|
|
|
#14 | ||
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Citation:
Je le gère comme expliquer précédement. J'ai une table qui se trouve dans l'application. Où je récupère le nom de l'utilisateur et le niveau. Si c'est de niveau 1, j'active la fenêtre access, si c'est de niveau 2, je désactive. Il y a un script que j'ai fait. Merci de ton aide. Bien à toi. |
||
|
|
00
|
|
|
#15 |
|
Membre chevronné
![]() arnaud technicien méthodes, dév web, dév & admin SGBD Inscription : juillet 2002 Messages : 630 ![]() |
relis la solution de papy turbo, deja elle sera bien plus efficace et transparente par rapport a la tienne
__________________
Que la Force soit avec vous ! autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python. autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois. |
|
00
|
|
|
#16 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Salut,
Je pense bien que la solution de Papy Turbo est bonne mais je ne sais pas comment travailler càd par où commencer afin de ne pas avoir un problème plus tard. Bien à toi. |
|
|
00
|
|
|
#17 | |
|
Membre Expert
![]() ![]() Etienne PailleretDéveloppeur VBA Inscription : mars 2004 Messages : 748 ![]() |
Citation:
Enfin, par "créer un fichier de sécurité", tu entends un fichier "system.mdw" ? Tu ne le crées pas avec WrkgAdm.exe. Tu le crées en copiant le "system.mdw" de base, installé par Access, ou un autre. Puis tu utilises - soit WrkgAdm.exe pour désigner celui qui sera utilisé par défaut, - soit, pour chaque application, un raccourci Windows. Dans la ligne de commande du raccourci, tu peux désigner la base de données (applicative) à ouvrir + avec le paramètre /wrkgrp, quel fichier de groupe de travail utiliser ? Code :
"C:\Sources\MonClient\Application.mdb" /wrkgrp "C:\Sources\MonClient\System.mdw" |
|
|
|
00
|
|
|
#18 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Salut Papy Turbo,
Merci pour ton aide. Je commence à mieux comprendre. Demain, je vais attaquer à nouveau et suivre tes conseils. Pour répondre à ta question, les tables et mon application se trouve dans le même fichier mdb. Tu me conseilles de les séparer?Si c'est le cas, comment dois-je m'y prendre. Merci d'avance. |
|
|
00
|
|
|
#19 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 93 ![]() |
Salut Papy Turbo,
Voilà, je viens d'essayer de faire comme tu m'as dit. Mnt je n'ai plus d'erreure d'occurence mais un "Access refusé". Est ce que c'est dû que mon fichier MDW se trouve dans le même répertoire que mon MDB? Est ce que c'est dû car je suis sur le réseau et pas en local? Merci de votre aide. Bien à toi. |
|
|
00
|
|
|
#20 | |
|
Membre Expert
![]() ![]() Etienne PailleretDéveloppeur VBA Inscription : mars 2004 Messages : 748 ![]() |
Citation:
Tous tes problèmes viennent de là. Si tu as une application en deux blocs : - les tables sont partagées (à part quelques tables locales, voir "Access pour un pro ?" sous ma signature, à apprendre par coeur :o), - chaque appli est sur le poste de l'utilisateur : ce que tu fais avec (autorisations pour l'un...) n'aura plus aucune influence sur ce qui se passe pour chaque autre ! - il est plus simple, bien que légèrement moins efficace (accès par le réseau), de laisser ton fichier 'System.mdw' sur le réseau, en accès partagé par tous : à chaque fois que tu (= l'Administrateur) ajoutes, supprimes, ou changes les autorisations des uns et des autres, tu n'as qu'à le faire sur ce fichier partagé. Sinon, il faudrait, à chaque modif., le recopier sur chaque poste... Par contre, ça t'oblige à lancer l'application avec un raccourci (que tu copies sur le bureau de chaque utilisateur), indiquant le chemin du /wrkgrp vers ton dossier public du réseau... comme indiqué ici, plus haut. Dernier petit conseil, si tu débutes : - crées toi un dossier Sources (par exemple, dans Mes Documents\Sources). Tu y créeras un dossier par (client ?), par projet, etc. Tu y mettras tous les "applicatifs" (fichier .mdb contenant tables attachées, requêtes, formulaires, états...) - crées toi un dossier Donnees ou Data (toujours dans "Mes Documents", si tu veux, mais séparé). Tu y créeras des sous-dossiers identiques à ceux des sources, et tu y mettras les "bases de données" proprement dites (contenant les tables). Depuis ton poste, tout cela doit faire partie des sauvegardes queotidiennes : le capital du programmeur inclut 1- les sources des applicatifs, 2- la structure des bases de données (tables, relations...) 3- l'original du fichier de groupe de travail (*.mdw) Sur les postes des utilisateurs, tu installeras : 1- une copie, éventuellement en .MDE, de l'application, éventuellement avec le fichier de groupe de travail (voir ci-dessus), dans C:\Program Files\NomDeTaBoite\NomApplication Aucun besoin de sauvegarder cela : les originaux sont chez toi (et tu as des sauvegardes 8) ). 2- sur le serveur partagé : la base de données, que tu sauvegardes tous les jours, voire toutes les heures : Le capital de ton client (tes utilisateurs), c'est le contenu (les données) des tables. Je ne comprends pas ton erreur d'Accès refusé. Fais déjà le fractionnement, et je pense qu'elle disparaîtra. Sinon, donne + de détails (message exact et complet, quand exactement (après quelle instruction ?), etc. Pour séparer ton projet monobloc en deux, tu as un assistant. Dans Access 2000, il est sous le menu : Outils, Utilitaires de bases de données, Fractionner une base de données... Et hop ![/b] |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com