Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Methode OpenDatabase

3 réponses
Avatar
Georges
Bonjour,

Est-ce possible d'ouvrir une base de données protégée par un mot de passe
sans utiliser d'ODBC?

J'ai vu que dans l'exemple donné par l'aide, ils ouvrent la base
Northwind.mdb avec la methode

Dim db as Database
Set db = DbEngin.OpenDatabase("db1.mdb", False, True, "UID=Admin;
PWD=MonMotDePasse")

cette action fonctionne quand il n'existe pas de mot de pass pour
l'ouverture de db1.mdb. mais échoue quand c'est elle est protégée!

Merci d'avance pour toute suggestion!

PS: J'ai besoin de l'ouvrir et de l'afficher et non pas s'y connecter
simplement. L'objectif est que l'utilisateur n'aura pas à taper le mot de
passe lui même.

3 réponses

Avatar
Gilles LEBRET
bonjour Georges

je te donne ci dessous un exemple de code tiré d'un de mes développements
(en VB)

Public wsDB As DAO.Workspace
Public CnDB As DAO.Database

Set wsDB = CreateWorkspace("wksjet", "Admin", "", dbUseJet)
'
Workspaces.Append wsDB
Set CnDB = wsDB.OpenDatabase("cheminnom de la base", False, False, "MS
Access;PWD="ton mot de passe")

Gilles Le Bret


"Georges" a écrit dans le message de news:
47a0f14e$0$3809$
Bonjour,

Est-ce possible d'ouvrir une base de données protégée par un mot de passe
sans utiliser d'ODBC?

J'ai vu que dans l'exemple donné par l'aide, ils ouvrent la base
Northwind.mdb avec la methode

Dim db as Database
Set db = DbEngin.OpenDatabase("db1.mdb", False, True, "UID­min;
PWD=MonMotDePasse")

cette action fonctionne quand il n'existe pas de mot de pass pour
l'ouverture de db1.mdb. mais échoue quand c'est elle est protégée!

Merci d'avance pour toute suggestion!

PS: J'ai besoin de l'ouvrir et de l'afficher et non pas s'y connecter
simplement. L'objectif est que l'utilisateur n'aura pas à taper le mot de
passe lui même.




Avatar
Georges
Bonjour Gilles,

Merci beaucoup pour ton code! En relisant ma question de départ, je me rond
compte que je me suis mal exprimé..
Ce que je voudrai vraiment faire c'est d'ouvrir la base et de l'avoir
affichée à l'écran comme si l'utilisateur avait cliqué lui-meme sur
l'application.

j'ai également trouvé ce code sur le site de MS. Seulement l'objet Database
semble rester en mémoire et ne possède ni de méthode 'Display' ni de
propriété Visible ou autre chose pour l'a faire apparaître à l'écran..
Dim db as Database
Set db = DBEngine.Workspaces(0).OpenDatabase("C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb", False, False, "MS
Access;PWD=northwind")

J'ai trouvé aussi une méthode qui insère le mot de pass et le nom
d'utilisateur dans une commande Shell. Seulement il s'agit du mot de pass de
l'environnement de l'utilisateur.
et je ne peux utiliser ce type de sécurité qui utilise la sécurisation par
workplace, car il suffirait de créer un nouveau fichier mdb et importer tous
les objets contenus dans la base 'sécuriser' sans avoir à entre aucun mot de
pass!

Merci encore, si tu as une idée concernant ce sujet!


"Gilles LEBRET" a écrit dans le message de news:
%
bonjour Georges

je te donne ci dessous un exemple de code tiré d'un de mes développements
(en VB)

Public wsDB As DAO.Workspace
Public CnDB As DAO.Database

Set wsDB = CreateWorkspace("wksjet", "Admin", "", dbUseJet)
'
Workspaces.Append wsDB
Set CnDB = wsDB.OpenDatabase("cheminnom de la base", False, False, "MS
Access;PWD="ton mot de passe")

Gilles Le Bret


"Georges" a écrit dans le message de news:
47a0f14e$0$3809$
Bonjour,

Est-ce possible d'ouvrir une base de données protégée par un mot de passe
sans utiliser d'ODBC?

J'ai vu que dans l'exemple donné par l'aide, ils ouvrent la base
Northwind.mdb avec la methode

Dim db as Database
Set db = DbEngin.OpenDatabase("db1.mdb", False, True, "UID­min;
PWD=MonMotDePasse")

cette action fonctionne quand il n'existe pas de mot de pass pour
l'ouverture de db1.mdb. mais échoue quand c'est elle est protégée!

Merci d'avance pour toute suggestion!

PS: J'ai besoin de l'ouvrir et de l'afficher et non pas s'y connecter
simplement. L'objectif est que l'utilisateur n'aura pas à taper le mot de
passe lui même.








Avatar
Georges
Les miracles doivent exister!!!!!!!!!!!!!!!
j'ai regarder vraiment en eyant plus aucun espoire, et j'ai trouvé sur le
site de MS exactement la fonction que je cherchais (Voir code ci-dessous)
Trop fort!
'=========================================================== Option Compare Database
Option Explicit

Sub OpenPasswordProtectedDB()
'Définit la valeur Static de façon à ce que l'instance de Microsoft
Access
'ne se ferme pas lorsque la procédure est terminée.
Static acc As Access.Application
Dim db As DAO.Database
Dim strDbName As String
strDbName = "C:Program FilesMicrosoft
OfficeOfficeSamplesNorthwind.mdb"
Set acc = New Access.Application
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(strDbName, False, False, ";PWD=nwind")
acc.OpenCurrentDatabase strDbName
db.Close
Set db = Nothing
End Sub
'===========================================================

"Georges" a écrit dans le message de news:
47a32114$0$21475$
Bonjour Gilles,

Merci beaucoup pour ton code! En relisant ma question de départ, je me
rond compte que je me suis mal exprimé..
Ce que je voudrai vraiment faire c'est d'ouvrir la base et de l'avoir
affichée à l'écran comme si l'utilisateur avait cliqué lui-meme sur
l'application.

j'ai également trouvé ce code sur le site de MS. Seulement l'objet
Database semble rester en mémoire et ne possède ni de méthode 'Display' ni
de propriété Visible ou autre chose pour l'a faire apparaître à l'écran..
Dim db as Database
Set db = DBEngine.Workspaces(0).OpenDatabase("C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb", False, False, "MS
Access;PWD=northwind")

J'ai trouvé aussi une méthode qui insère le mot de pass et le nom
d'utilisateur dans une commande Shell. Seulement il s'agit du mot de pass
de l'environnement de l'utilisateur.
et je ne peux utiliser ce type de sécurité qui utilise la sécurisation par
workplace, car il suffirait de créer un nouveau fichier mdb et importer
tous les objets contenus dans la base 'sécuriser' sans avoir à entre aucun
mot de pass!

Merci encore, si tu as une idée concernant ce sujet!


"Gilles LEBRET" a écrit dans le message de news:
%
bonjour Georges

je te donne ci dessous un exemple de code tiré d'un de mes développements
(en VB)

Public wsDB As DAO.Workspace
Public CnDB As DAO.Database

Set wsDB = CreateWorkspace("wksjet", "Admin", "", dbUseJet)
'
Workspaces.Append wsDB
Set CnDB = wsDB.OpenDatabase("cheminnom de la base", False, False,
"MS Access;PWD="ton mot de passe")

Gilles Le Bret


"Georges" a écrit dans le message de news:
47a0f14e$0$3809$
Bonjour,

Est-ce possible d'ouvrir une base de données protégée par un mot de
passe sans utiliser d'ODBC?

J'ai vu que dans l'exemple donné par l'aide, ils ouvrent la base
Northwind.mdb avec la methode

Dim db as Database
Set db = DbEngin.OpenDatabase("db1.mdb", False, True, "UID­min;
PWD=MonMotDePasse")

cette action fonctionne quand il n'existe pas de mot de pass pour
l'ouverture de db1.mdb. mais échoue quand c'est elle est protégée!

Merci d'avance pour toute suggestion!

PS: J'ai besoin de l'ouvrir et de l'afficher et non pas s'y connecter
simplement. L'objectif est que l'utilisateur n'aura pas à taper le mot
de passe lui même.