OVH Cloud OVH Cloud

ouverture sélective de base de données

7 réponses
Avatar
jessica
bonjour à tous,

access 2002, win 2000
j'ai deux bases liées : je souhaiterais diriger les utilisateurs de mes bases de données suivant ce à quoi ils peuvent avoir accès. Par exemple, j'ai mon superadministrateur qui a accès a tout et les utilisateurs qui n'ont accès qu'à une base.

J'ai lu un poste de papi frenchie qui disait que lui il avait une base en plus, qui gère les utilisateurs et qui ouvre les formulaires qui vont bien pour chacun.
J'ai donc créé cette base Utilisateur avec une table T_Utilisateur (champs : IDUtilisateur et MotDePasse en clé primaire), et deux formulaires (le formulaire principal avec la demande de mot de passe et tout, et un formulaire qui permettra au superadmin de choisir entre l'une des deux autres bases)
je voudrais que si l'utilisateur est Utilisateur1 alors que, lorsque j'appuie sur un bouton, ça m'ouvre la base SoftOF.mdb.

à vrai dire, je n'y arrive pas (débutante en vba), je suis allée sur le site
http://access.seneque.free.fr/executer_selon_ext.htm
j'ai insérer le code mais ça ne marche pas : je pense que ce code là est bon mais que c'est le code que j'ai fait en plus qui est nul. je vous le copie

..... code sur le site .....

Private Sub BTCUtilisateur_Click()
If TempUtil = "Utilisateur" Then
If TempMotDePasse = CurrentData.AllTables![T_Utilisateur].MotDePasse Then
Dim Reponse As Variant
Reponse = OpenfileExtend("C:\Documents and Settings\GERBER\Mes documents\Stage Enit\SoftOF.mdb", Maximum)
If Not Reponse = True Then
MsgBox Reponse
Else
Quit
End If
Else
T$ = "Erreur"
M$ = "Le login ou le mot de passe que vous venez d'entrer est faux. Veuillez recommencer votre saisie."
MsgBox(M$, vbCritical, T$)
End If
End If
End Sub

voilà, je vous remercie d'avance pour votre aide.

jessica

7 réponses

Avatar
Raymond [mvp]
Bonjour Jessica.

Ce que tu as pris sur mon site ne correspond pas du tout à ton problème.
cette api permet de lancer n'importe quelle application à partir d'access
mais ne s'utilise pas pour lancer access par access.

Je ne comprend pas tout et donne certaines précisions.
tu veux ouvrir une base différente si c'est un utilisateur1. pourquoi ne pas
mettre un raccourci sur le bureau pour lancer cette base ? et ne pas mettre
de raccourci pour les autres bases ? le superadministrateur se débrouillera
bien lui pour faire tous les arccourcis qu'il aura besoin.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"jessica" a écrit dans le message de
news:
bonjour à tous,

access 2002, win 2000
j'ai deux bases liées : je souhaiterais diriger les utilisateurs de mes
bases de données suivant ce à quoi ils peuvent avoir accès. Par exemple,

j'ai mon superadministrateur qui a accès a tout et les utilisateurs qui
n'ont accès qu'à une base.

J'ai lu un poste de papi frenchie qui disait que lui il avait une base en
plus, qui gère les utilisateurs et qui ouvre les formulaires qui vont bien

pour chacun.
J'ai donc créé cette base Utilisateur avec une table T_Utilisateur (champs
: IDUtilisateur et MotDePasse en clé primaire), et deux formulaires (le

formulaire principal avec la demande de mot de passe et tout, et un
formulaire qui permettra au superadmin de choisir entre l'une des deux
autres bases)
je voudrais que si l'utilisateur est Utilisateur1 alors que, lorsque
j'appuie sur un bouton, ça m'ouvre la base SoftOF.mdb.


à vrai dire, je n'y arrive pas (débutante en vba), je suis allée sur le
site

http://access.seneque.free.fr/executer_selon_ext.htm
j'ai insérer le code mais ça ne marche pas : je pense que ce code là est
bon mais que c'est le code que j'ai fait en plus qui est nul. je vous le

copie

..... code sur le site .....

Private Sub BTCUtilisateur_Click()
If TempUtil = "Utilisateur" Then
If TempMotDePasse = CurrentData.AllTables![T_Utilisateur].MotDePasse
Then

Dim Reponse As Variant
Reponse = OpenfileExtend("C:Documents and SettingsGERBERMes
documentsStage EnitSoftOF.mdb", Maximum)

If Not Reponse = True Then
MsgBox Reponse
Else
Quit
End If
Else
T$ = "Erreur"
M$ = "Le login ou le mot de passe que vous venez d'entrer est faux.
Veuillez recommencer votre saisie."

MsgBox(M$, vbCritical, T$)
End If
End If
End Sub

voilà, je vous remercie d'avance pour votre aide.

jessica


Avatar
jessica
bonjour Raymond et merci pour ta répons

Ce que tu as pris sur mon site ne correspond pas du tout à ton problème
ha ok, je pensais que ça marcherait aussi. Il n'y a vraiment pas moyen d'ouvrir access avec access


des précisions
je vais essayer d'être la plus claire possible.

Donc j'ai deux bases SoftGestion et SoftOF. J'ai deux types d'utilisateurs : le boss qui est le "superadmin", et les employés qui sont "Utilisateur". Mon superadmin dois avoir accès aux deux bases et pouvoir faire toutes les modif qu'il veut. L'Utilisateur lui ne doit avoir accès qu'à SoftOF, il ne doit absolument pas pouvoir rentrer dans SoftGestion (contient la comptabilité et autre trucs de l'entreprise). Ha oui, les deux bases sont liées par certaines tables.
J'avais pensé au départ mettre un mot de passe que sur SoftGestion (qui n'aurait donné accès qu'au superadmin), mais je me suis rendue compte alors que je ne pouvais plus accéder à la base liée SoftOF alors comme je n'ai pas trouvé de quoi arranger ça et bien j'ai laissé tomber. Et j'ai trouvé cette nouvelle solution (celle de la table utilisateur

Je n'ai pas bien compris pour l'histoire des raccourcis mais je pense que dans mon cas ça n'est pas applicable car si c'est l'utilisateur alors il ne doit pas avoir accès à SoftGestion et donc c'est retour à la case départ (problème des mots de passe)

Mais dans mon idée ça serait chouette de pouvoir ouvrir une BdD access à partir d'une autre BdD access
C'est vrai que je ne vois pas trop comment faire autrement, si tu as une autre idée elle est la bienvenue.
J'espère avoir été assez claire, et encore merci de m'aider

jessica

Avatar
3stone
Bonjour,

[...]
Mais dans mon idée ça serait chouette de pouvoir ouvrir une BdD access à partir d'une autre BdD
access.




Regarde ceci...
http://www.mvps.org/accessfr/modules/mdl0005.htm


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------

Avatar
Raymond [mvp]
je vois que pierre t'a répondu.

Pour le reste:
la base access pour les utilisateurs ne doit pas avoir les données et ne
doit avoir que les tables attachées qu'ils ont besoin sur la base
principale. du moment qu'ils n'auront pas de tables attachées à certaines
tables confidentielles ils ne pourront pas les atteindre.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"jessica" a écrit dans le message de
news:
bonjour Raymond et merci pour ta réponse

Ce que tu as pris sur mon site ne correspond pas du tout à ton problème.
ha ok, je pensais que ça marcherait aussi. Il n'y a vraiment pas moyen

d'ouvrir access avec access?


des précisions.
je vais essayer d'être la plus claire possible.

Donc j'ai deux bases SoftGestion et SoftOF. J'ai deux types d'utilisateurs
: le boss qui est le "superadmin", et les employés qui sont "Utilisateur".

Mon superadmin dois avoir accès aux deux bases et pouvoir faire toutes les
modif qu'il veut. L'Utilisateur lui ne doit avoir accès qu'à SoftOF, il ne
doit absolument pas pouvoir rentrer dans SoftGestion (contient la
comptabilité et autre trucs de l'entreprise). Ha oui, les deux bases sont
liées par certaines tables.
J'avais pensé au départ mettre un mot de passe que sur SoftGestion (qui
n'aurait donné accès qu'au superadmin), mais je me suis rendue compte alors

que je ne pouvais plus accéder à la base liée SoftOF alors comme je n'ai pas
trouvé de quoi arranger ça et bien j'ai laissé tomber. Et j'ai trouvé cette
nouvelle solution (celle de la table utilisateur)

Je n'ai pas bien compris pour l'histoire des raccourcis mais je pense que
dans mon cas ça n'est pas applicable car si c'est l'utilisateur alors il ne

doit pas avoir accès à SoftGestion et donc c'est retour à la case départ
(problème des mots de passe).

Mais dans mon idée ça serait chouette de pouvoir ouvrir une BdD access à
partir d'une autre BdD access.

C'est vrai que je ne vois pas trop comment faire autrement, si tu as une
autre idée elle est la bienvenue.

J'espère avoir été assez claire, et encore merci de m'aider.

jessica



Avatar
jessica
merci à tous les deux

j'espère que je n'abuse pas mais voilà j'ai encore des questions. Je suis allée sur le site que 3stone m'a indiqué. Je ne sais pas si ça vient de moi mais les liens pour access 2000 sont morts, alors j'ai essayé de chercher et j'ai rien trouvé.
j'ai donc pris cette procédure :
Sub sOpenMDB(strInMDB As String
On Error Resume Nex
SendKeys "%FO" & strInMDB & "~
End Su

je l'ai mise telle quelle, c'est bon ou pas? je ne vois pas à quoi correspond "%FO"...
j'ai ensuite essayé de compiler mon code et ça me dit pour la ligne If TempMotDePasse = CurrentData.AllTables![T_Utilisateur].MotDePasse Then, "erreur 438 propriété ou methode non gérée par cet objet.... je vous mets mon code
Private Sub BTCUtilisateur_Click(
If TempUtil = "Utilisateur" The
If TempMotDePasse = CurrentData.AllTables![T_Utilisateur].MotDePasse The
sOpenMDB("C:Documents and SettingsGERBERMes documentsStage EnitSoftOF.mdb"
Els
T$ = "Erreur
M$ = "Le login ou le mot de passe que vous venez d'entrer est faux. Veuillez recommencer
M$ = M$ + "votre saisie.
MsgBox M$, vbCritical, T
End I
End I
End Su

Voilà, je vous remercie de toute l'aide que vous m'avez apporté

jessica
Avatar
3stone
Salut,

Je suis allée sur le site que 3stone m'a indiqué.
Je ne sais pas si ça vient de moi mais les liens pour access 2000 sont morts...



Utilise le lien anglais... (qui n'est pas mort ;)
http://www.mvps.org/access/modules/mdl0005.htm


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------

Avatar
jessica
merci 3stone pour ce lien.
je vais regarder ça de plus près.

merci à tous les deux pour l'aide que vous m'avez apporté

jessica