Bonjour

J'ai pas mal galéré pour utiliser les bases de données Access 2016 et VB6.
Si ça peut être utile :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim db As ADODB.Connection
Dim cmd As ADODB.Command
Dim record As ADODB.Recordset
Dim StrConnect As String
 
Set db = New ADODB.Connection
' ****************** La reference Microsoft Access 16.0 Access library …...doit être sélectionnée *********************
db.Provider = "Microsoft.ACE.OLEDB.16.0"
StrConnect = "Data Source=D:\MyDatabase.accdb" ' le chemin de ma base .accdb
db.ConnectionString = StrConnect
db.Open ' ouverture
 
WriteDataOnTxtFile "D:\Connection.txt", db.ConnectionString ' il suffit de lire la chaine db.ConnectionString dans mon cas enregistrée dans un fichier.txt
Voila la syntaxe à respecter pour les différents paramètres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Provider=Microsoft.ACE.OLEDB.16.0;
User ID=Admin;
Data Source=D:\MyDatabase.accdb;
Mode=Share Deny None;
Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";
Jet OLEDBatabase Password="";
Jet OLEDB:Engine Type=6;
Jet OLEDBatabase Locking Mode=1;
Jet OLEDB:Global Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDBon't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False;
Jet OLEDB:Support Complex Data=False;
Jet OLEDB:Bypass UserInfo Validation=False;
Jet OLEDB:Limited DB Caching=False;
Jet OLEDB:Bypass ChoiceField Validation=False;
Autre exemple pour les bases ACCESS 97 avec une base protégée par un mot de passe .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim db As ADODB.Connection
Dim cmd As ADODB.Command
Dim record As ADODB.Recordset
Dim StrConnect As String
 
 
Set db = New ADODB.Connection
db.Provider = "Microsoft.JET.OLEDB.4.0"
StrConnect = "Data Source=D:\MyDatabase.MDB;Jet OLEDBatabase Password=MyPassWord"
db.ConnectionString = StrConnect
db.Open
 
 
WriteDataOnTxtFile "D:\ConnectionPassword.txt", db.ConnectionString ' il suffit de lire la chaine db.ConnectionString dans mon cas enregistée dans un fichier.txt '
Voila la syntaxe à respecter pour les différents paramètres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;
Data Source=D:\MyDatabase.MDB;
Mode=Share Deny None;
Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";
Jet OLEDBatabase Password=MyPassWord;
Jet OLEDB:Engine Type=4;
Jet OLEDBatabase Locking Mode=0;
Jet OLEDB:Global Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDBon't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False;
Pour enregisitrer la chaine Db.ConnectionString dans un fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Sub WriteDataOnTxtFile(PathFile As String, ConnectStr As String)
Dim PathFileTXT As String
Dim strTXT As String
 
PathFileTXT = PathFile
If Dir(PathFileTXT) = "" Then
' No
Open PathFileTXT For Output As #2
Else
Open PathFileTXT For Append As #2
End If
strTXT = ConnectStr
 
Print #2, strTXT
Close #2
End Sub

Cdt
Serge