Bonjour,
j'ai une base de donnée qui contient des tables liés via ODBC.
je voudrais faire un bouton qui permet de se logguer à ODBC via le code VBA.
j'ai récupérer le code de la FAQ.
le code semble fonctionner mais si j'ouvre une table lié, je doit me reconnecter manuellement à l'ODBC.
Comment faire pour que la connection à l'ODBC soit définitive ?
merci pour votre aide
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 Public Function InitConnection(DSN As String, UserName As String, PassWord As String) As Boolean Dim query As String Dim cnxString As String Dim RequeteOk As Boolean Dim ADOCnx As ADODB.Connection Set ADOCnx = New ADODB.Connection 'Dim mRst As New ADODB.Recordset InitConnection = False 'Initialisation de la chaine de connexion ADOCnx.ConnectionString = "DSN=" & DSN & ";" 'Vérifie que la connexion est bien fermée If ADOCnx.State = adStateOpen Then MsgBox ("ferme la connection") ADOCnx.Close End If On Error GoTo BadConnection 'Connexion à la base de données ADOCnx.Open cnxString, UserName, PassWord 'Attente que la connexion soit établie While (ADOCnx.State = adStateConnecting) DoEvents Wend 'Vérification des erreurs dans le cas d'une mauvaise connexion If ADOCnx.Errors.count > 0 Then 'Affichage des erreurs MsgBox ADOCnx.Errors.Item(0) InitConnection = False Exit Function Else InitConnection = True End If Exit Function BadConnection: If ADOCnx.Errors.count > 0 Then 'Affichage des erreurs MsgBox ADOCnx.Errors.Item(0) InitConnection = False Exit Function Else MsgBox err.Description End If End Function
Partager