Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
28-03-2006 - 7:02
Message
#1
|
|
|
Membre Groupe : Membres Messages : 7 Inscrit : 13-03-2006 Membre n° 9 349 |
Bonjour,
Je voudrais créer des groupe et des utilisateurs pour l'accès à une base de données partagée par réseau. Pour cela, le code que j'ai utilisé est le suivant : Dim worksp As Workspace Dim wgroup As Group Dim wgprop As Property Dim wgpuser As User Set wgroup = worksp.CreateGroup(n_group, n_group_pass) Set wgpuser = wgroup.CreateUser(n_user, n_group_pass, n_user_pass) p = worksp.Groups.Count Les valeurs de (n_group, n_group_pass, n_user, n_group_pass, n_user_pass) sont définies. Le code s'execute bien mais la valeur de "p" est égale à 0!! Cela veut dire à mon avis que le groupe n'a pas été crée! La même valeur prend le "p" quand : p = wgroup.Users.Count (p=0) Est ce que cela veut dire que le groupe et les utilisateurs n'ont pas été crées?? Si ceci est vrai, comment réussir l'opération? Merci LEILA |
|
|
|
28-03-2006 - 8:50
Message
#2
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 914 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Hello,
En premier temps il serait utile de savoir en quel langage tu comptes programmer... Et en quel format se trouve la DB. De plus, il serait intéressant que tu note ton code en entier... Notament les définitions des groupes et autres. Car ce serais plus facile de voir ou cela plante si le code est en entier en place de chercher le petit cailloux manquant. Merci, G. -------------------- |
|
|
|
29-03-2006 - 3:37
Message
#3
|
|
|
Membre Groupe : Membres Messages : 7 Inscrit : 13-03-2006 Membre n° 9 349 |
Bonjour,
Je programme en VB6 avec une base de données Access partagée par réseau. Voici le code en entier que j'ai utilisé : Dim worksp As Workspace Dim wgroup As New Group Dim wgprop As Property Dim wgpuser As New User Set db = DBEngine.OpenDatabase("\\Ag\AG\BD\loulou.mdb") Set worksp = DBEngine.Workspaces(0) n_group = InputBox("Veuillez entrer le nom du goupe") n_group_pass = InputBox("Veuillez entrer le mot de passe du goupe") n_user = InputBox("Veuillez entrer le nom de l'utilisateur") n_user_pass = InputBox("Veuillez entrer le mot de passe de l'utilisateur") Set wgroup = worksp.CreateGroup(n_group, n_group_pass) Set wgpuser = wgroup.CreateUser(n_user, n_group_pass, n_user_pass) p = wgroup.Users.Count Le code s'execute bien mais la valeur de "p" est égale à 0!! Aussi combien d'utilisateurs pourront travailler en même temps sur mon application?? (Comment programmer ça?) Merci bcp LEILA |
|
|
|
29-03-2006 - 6:40
Message
#4
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 914 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Hello,
Tu crées bien l'espace de travail... Mais tu ne le sauve pas... Il ne fait référence à rien. De mémoire dans VB6 il devrait y avoir une méthode de type '.SaveWorkspace(NomDuFichier)' ... Identiquement dans le groupe, il semble que tu sautes l'objet... Mais que tu utilises directement la méthode... Quant au niveau utilisateur, là je n'ai rien vu qui cloche. Mais j'attire ton attention que cela fait un bail que je n'ai plus fait de VB6. En espérant t'avoir été utile dans tous les cas, n'hésite pas a reposter si besoin est. G. Hello, c'est de nouveau moi, Je me pose après un instant de réfléxion... Pourquoi ne pas faire cela en VBA direct ? Cela te simplifierais grandement la tâche. Tu stockes les administrateurs, utilisateurs dans la table en sois... Et tu n'autorises que la consultation pour un groupe etc... Si tu as déjà essayé, tiens-nous au courant. G. -------------------- |
|
|
|
30-03-2006 - 3:48
Message
#5
|
|
|
Membre Groupe : Membres Messages : 7 Inscrit : 13-03-2006 Membre n° 9 349 |
Bonjour,
j'ai jamais travaillé sur VBA. J'arrive pas à trouver la méthode "SaveWorkspace" donc je n'arrive toujours pas à sauvegarder mon workspace "Identiquement dans le groupe, il semble que tu sautes l'objet... Mais que tu utilises directement la méthode..." à vrai dire, j'ai pas très bien compris!! Merci bcp pour ton aide LEILA |
|
|
|
30-03-2006 - 11:05
Message
#6
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 914 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Hello,
En prenant un peu plus de renseignement sur la sécurisation d'une DB Access, j'ai pu tirer quelques petites choses de sympathique. Il semble que nous soyons partis tous les deux dans le faux : 1. "La librairie de d´eveloppement de DAO de Microsoft (Microsoft Library DAO 3.6) peut ˆetre consid´er´ee comme une interface de liaison entre le langage de programmation utilis´e par le d´eveloppeur, et une base de donn´ees (g´en´eralement une base de donn´ees Access). Elle contient de nombreuses fonctions de gestion, ainsi que diff´erentes constantes n´ecessaires `a la manipulation de la base de donn´ees." 2. "Voici la marche `a suivre pour inclure et ainsi pouvoir manipuler la DAO sous VB : – Dans l’onglet ”Projet”, cliquez sur ”Ajouter une r´ef´erence...”, – Puis sous l’onglet ”COM”, s´electionnez la librairie ”Microsoft DAO 3.6 Object Library” – Enfin, cliquez sur ”OK”" 3. travailler sur DB : y incorporer une ID par personne autorisée. 4. L’ouverture de la base de donn´ees : db = DBEngine.OpenDatabase(fichier) "En Visual Basic, la connexion `a une base de donn´ees s’effectue au travers de la collection DBEngine. Seule, l’adresse du fichier est n´ecessaire." 5. Créer la sécurité de la DB par le fichier .MDW : "C'est dans ce fichier que sont définis les groupes et les utilisateurs pouvant accéder à une base. Lorsque vous mettez en place la sécurité, vous associez une base de données à un fichier .mdw précis. L'association peut se faire de deux manières : Associer Access tout entier à un fichier .mdw. Dans ce cas, Access est connecté à un fichier .mdw sécurisé, il demande donc une identification à chaque démarrage. Ca ne signifie pas pour autant que toutes les bases sont verrouillées ! Cette association est établie via l'Administrateur de Groupe de travail (disponible dans le menu Démarrer / Programmes ou dans le dossier d'installation d'Access - cherchez wrkgadm.exe). Sur Access 2002, l'option est disponible directement depuis Outils / Sécurité. Associer uniquement une base de données au fichier .mdw. Dans ce cas, seule la base concernée demande une identification au démarrage. Les autres continuent de fonctionner avec le fichier standard system.mdw. Dans ce second cas, l'association base / groupe de travail se fait au niveau du raccourci Windows. 3 options de ligne commande sont disponibles (consultez l'aide d'Access pour les détails) : /wrkgrp définit le groupe de travail, /user définit l'utilisateur par défaut, si nécessaire, /pwd définit le mot de passe par défaut, si nécessaire aussi (ne pas abuser : un mot de passe en clair dans un raccourci n'est pas ce qu'on fait de mieux !).". 6. Un petit topics sympathique : http://www.developpez.net/forums/viewtopic.php?p=2448362 Extrait de mes amours futiles des pages de Google ... Donc, le plus simple : a ) création d'une application VB pointant sur la DB b ) sécuriser la DB via le .MDW En espérant t'avoir éclairé plus ! G. -------------------- |
|
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 28-08-2008 - 14:05 |