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

VBA: Importation données Access dans Excel

4 réponses
Avatar
Stach
Bonjour à tous,

En VBA, j'essaye d'importer des données provenant d'une base de donnée
sécurisée Access 2003 (base frontale). Dés lors, lorsque j'essaye d'ouvrir ma
bd à partir d'Excel grâce à un "OpenDatabase", j'obtiens un message me disant
de demander l'autorisation de me connecter à cette base de donnée.

Donc comment accéder via "OpendDatabase" à une base sécurisée? Où et comment
placer les arguments UserId et password?

Pour info, je m'attaque à la base frontale, car c'est le résultat d'une
requête que j'essaye d'importer dans Excel!

Merci d'avance.

Stach ;-)

4 réponses

Avatar
MichDenis
En utilisant ADO References : "Microsoft Activex data object 2.x librairy"

'Avec simple mot de passe :

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:somepathmydb.mdb;" & _
"Jet OLEDB:Database Password=MyDbPassword", _
"myUsername", "myPassword"

'Avec une base "système" :

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:somepathmydb.mdb;" & _
"Jet OLEDB:System Database=MySystem.mdw", _
"myUsername", "myPassword"

MySystem.mdw : Comprend le chemin et le nom de la base système


Si tu utilises DAO : References : "Microsoft DAO 3.6 Objects Librairy"

'-------------------------------
Dim wks As DAO.Workspace
Dim db As DAO.Database

'Chemin de la base système :
DBEngine.SystemDB = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"

'Voir l'aide d'excel sur CreateWorkspace :
' Set workspace = CreateWorkspace(name, user, password, type)
Set wks = DBEngine.CreateWorkspace("", "Admin", "")
'Ouverture de la base de données
Set db = wks.OpenDatabase("c:.Comptoir.mdb")

db.Close
wks.Close
'-------------------------------





"Stach" a écrit dans le message de news:

Bonjour à tous,

En VBA, j'essaye d'importer des données provenant d'une base de donnée
sécurisée Access 2003 (base frontale). Dés lors, lorsque j'essaye d'ouvrir ma
bd à partir d'Excel grâce à un "OpenDatabase", j'obtiens un message me disant
de demander l'autorisation de me connecter à cette base de donnée.

Donc comment accéder via "OpendDatabase" à une base sécurisée? Où et comment
placer les arguments UserId et password?

Pour info, je m'attaque à la base frontale, car c'est le résultat d'une
requête que j'essaye d'importer dans Excel!

Merci d'avance.

Stach ;-)
Avatar
MichDenis
Si tu utilises DAO et un simple mot de passe pour ouvrir ta base de données :

Ma base de données : "C:Mes Documentsbd1.mdb"
La base doit être ouvert en mode exclusif : True
La base n'est pas en lecture seule : false
La connexion : "MS Access;PWD=toto"
Le Mot de passe de ma base est : toto

Set db = OpenDatabase("C:Mes Documentsbd1.mdb", True, False, "MS Access;PWD=toto")




"MichDenis" a écrit dans le message de news:

En utilisant ADO References : "Microsoft Activex data object 2.x librairy"

'Avec simple mot de passe :

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:somepathmydb.mdb;" & _
"Jet OLEDB:Database Password=MyDbPassword", _
"myUsername", "myPassword"

'Avec une base "système" :

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:somepathmydb.mdb;" & _
"Jet OLEDB:System Database=MySystem.mdw", _
"myUsername", "myPassword"

MySystem.mdw : Comprend le chemin et le nom de la base système


Si tu utilises DAO : References : "Microsoft DAO 3.6 Objects Librairy"

'-------------------------------
Dim wks As DAO.Workspace
Dim db As DAO.Database

'Chemin de la base système :
DBEngine.SystemDB = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"

'Voir l'aide d'excel sur CreateWorkspace :
' Set workspace = CreateWorkspace(name, user, password, type)
Set wks = DBEngine.CreateWorkspace("", "Admin", "")
'Ouverture de la base de données
Set db = wks.OpenDatabase("c:.Comptoir.mdb")

db.Close
wks.Close
'-------------------------------





"Stach" a écrit dans le message de news:

Bonjour à tous,

En VBA, j'essaye d'importer des données provenant d'une base de donnée
sécurisée Access 2003 (base frontale). Dés lors, lorsque j'essaye d'ouvrir ma
bd à partir d'Excel grâce à un "OpenDatabase", j'obtiens un message me disant
de demander l'autorisation de me connecter à cette base de donnée.

Donc comment accéder via "OpendDatabase" à une base sécurisée? Où et comment
placer les arguments UserId et password?

Pour info, je m'attaque à la base frontale, car c'est le résultat d'une
requête que j'essaye d'importer dans Excel!

Merci d'avance.

Stach ;-)
Avatar
Stach
Salut MichDenis,

Je travail en DAO et j'ai bien coché la référence correspondant.

J'ai essayé tes 2 solutions, mais j'obtiens toujours le même message me
demandant de demander l'autorisation d'accès à la base de donnée Access (err.
3033)

Voici mon code d'ouverture:

Dim bdCAMIONS As Database
Set bdCAMIONS = OpenDatabase("C:TervalDBStatcamSTATCAM.mdb", True, False,
"MS Access;PWD=xxxx")

Comment inclure le nom d'utilisateur dans les paramètres? J'aurai bien
regardé l'aide d'Excel mais ma version de l'aide est patiellement corrompue
:-(

As-tu une idée de ce qui cloche?

Merci.

Stach ;-)


Si tu utilises DAO et un simple mot de passe pour ouvrir ta base de données :

Ma base de données : "C:Mes Documentsbd1.mdb"
La base doit être ouvert en mode exclusif : True
La base n'est pas en lecture seule : false
La connexion : "MS Access;PWD=toto"
Le Mot de passe de ma base est : toto

Set db = OpenDatabase("C:Mes Documentsbd1.mdb", True, False, "MS Access;PWD=toto")




"MichDenis" a écrit dans le message de news:

En utilisant ADO References : "Microsoft Activex data object 2.x librairy"

'Avec simple mot de passe :

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:somepathmydb.mdb;" & _
"Jet OLEDB:Database Password=MyDbPassword", _
"myUsername", "myPassword"

'Avec une base "système" :

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:somepathmydb.mdb;" & _
"Jet OLEDB:System Database=MySystem.mdw", _
"myUsername", "myPassword"

MySystem.mdw : Comprend le chemin et le nom de la base système


Si tu utilises DAO : References : "Microsoft DAO 3.6 Objects Librairy"

'-------------------------------
Dim wks As DAO.Workspace
Dim db As DAO.Database

'Chemin de la base système :
DBEngine.SystemDB = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"

'Voir l'aide d'excel sur CreateWorkspace :
' Set workspace = CreateWorkspace(name, user, password, type)
Set wks = DBEngine.CreateWorkspace("", "Admin", "")
'Ouverture de la base de données
Set db = wks.OpenDatabase("c:.Comptoir.mdb")

db.Close
wks.Close
'-------------------------------





"Stach" a écrit dans le message de news:

Bonjour à tous,

En VBA, j'essaye d'importer des données provenant d'une base de donnée
sécurisée Access 2003 (base frontale). Dés lors, lorsque j'essaye d'ouvrir ma
bd à partir d'Excel grâce à un "OpenDatabase", j'obtiens un message me disant
de demander l'autorisation de me connecter à cette base de donnée.

Donc comment accéder via "OpendDatabase" à une base sécurisée? Où et comment
placer les arguments UserId et password?

Pour info, je m'attaque à la base frontale, car c'est le résultat d'une
requête que j'essaye d'importer dans Excel!

Merci d'avance.

Stach ;-)






Avatar
Stach
J'ai finalement retesté la solution DAO utilisant le "Workspace" et ça
fonctionne!

Grand merci.

Stach ;-)


Si tu utilises DAO : References : "Microsoft DAO 3.6 Objects Librairy"

'-------------------------------
Dim wks As DAO.Workspace
Dim db As DAO.Database

'Chemin de la base système :
DBEngine.SystemDB = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"

'Voir l'aide d'excel sur CreateWorkspace :
' Set workspace = CreateWorkspace(name, user, password, type)
Set wks = DBEngine.CreateWorkspace("", "Admin", "")
'Ouverture de la base de données
Set db = wks.OpenDatabase("c:.Comptoir.mdb")

db.Close
wks.Close
'-------------------------------





"Stach" a écrit dans le message de news:

Bonjour à tous,

En VBA, j'essaye d'importer des données provenant d'une base de donnée
sécurisée Access 2003 (base frontale). Dés lors, lorsque j'essaye d'ouvrir ma
bd à partir d'Excel grâce à un "OpenDatabase", j'obtiens un message me disant
de demander l'autorisation de me connecter à cette base de donnée.

Donc comment accéder via "OpendDatabase" à une base sécurisée? Où et comment
placer les arguments UserId et password?

Pour info, je m'attaque à la base frontale, car c'est le résultat d'une
requête que j'essaye d'importer dans Excel!

Merci d'avance.

Stach ;-)