Bonjour tout le monde ,


je vous explique mon soucis, j'ai une application de geestion d'ordinateur relié à une base de donnée MySql.

J'ai mis en page de garde 2 txtBox une pour le login et une autre pour le mot de passe afin que lorsque l'utilisateur se connecte celà puisse activé les différents menu. Jusque là j'ai su faire.

La connexion réussie mais lorsque je rentre dans une autre page (par exemple celle pour enregistrer un nouveau micro la connexion ne marche plus... je vous montre mon code vous comprendrez mieux

Ma page d'accueil:

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
 
 
Private Sub CmdLogin_Click()
'Bonton de connexion
'Si la connexion réussi celà dégrise le menu
'Un message apparait donnant le login et que la connexion a réussi
 
'sinon un message d'erreur apparait
Dim TT As String
Dim MdpTemp As String
 
Dim test As Boolean
 
 
 
TT = TxtLogin
MdpTemp = TxtMdp
NomTT = TT
Mdp = MdpTemp
GiveDonnee TxtLogin, TxtMdp
test = InitCnx(TT, MdpTemp)
 
 
 
If test = True Then
    MsgBox "Vous êtes maintenant connecté en tant que " & TxtLogin
    'activation des menu
    mnu_lst.Enabled = True
    mnu_enr.Enabled = True
    mnu_rec.Enabled = True
    mnu_stat.Enabled = True
 
    'Désactivation du menu quitter , l'utilisateur ne peut quitter qu'aprés s'être déconnecté
    mnu_quit.Enabled = False
 
End If

Dans un module ma connexion :


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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
 
 
Sub main()
 
Global NomTT As String
Global ResCnx As Integer
Global Mdp As String
Global cnx As ADODB.Connection
 
Global Const NomServeur = "127.0.0.1"
Global Const NomBaseDeDonnées = "ProjetRichet"
 
 
End Sub
 
 
Public Function InitCnx(NomUtilisateur As String, MotDePasse As String)
 
NomTT = NomUtilisateur
 
'Instanciation
Set cnx = New ADODB.Connection
 
'Const NomServeur = "127.0.0.1"
'Const NomBaseDeDonnées = "ProjetRichet"
 
'Définition de la chaîne de connexion
cnx.ConnectionString = "UID=" & NomUtilisateur & ";PWD=" & MotDePasse & ";" & "DRIVER={MySQL ODBC 3.51 Driver};Server=" & NomServeur & ";Database=" & NomBaseDeDonnées & ";"
 
'Vérifie que la connexion est bien fermée
If cnx.State = adStateOpen Then cnx.Close
 
cnx.Errors.Clear
 
On Error GoTo BadConnection
  'Connexion à la base de données
  cnx.Open
 
 
  'Vérification des erreurs dans le cas d'une mauvaise connexion
If cnx.Errors.Count > 0 Then
    'Affichage des erreurs
    MsgBox cnx.Errors.Item(0)
    InitCnx = False
    Exit Function
Else
    InitCnx = True
    Exit Function
End If
 
 
BadConnection:
If cnx.Errors.Count > 0 Then
    'Affichage des erreurs
    MsgBox cnx.Errors.Item(0)
    InitCnx = False
    Exit Function
Else
    MsgBox Err.Description
End If
 
End Function

Et là le form load de la page d'enregistrement de micro

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
 
 
'Dim TT As String
'Dim MdpTemp As String
 
 
 
TT = "root"
MdpTemp = ""
 
 
 
InitCnx(TT, MdpTemp)
 
 
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
 
rst.Open "SELECT * from SERVICES", cnx, adOpenDynamic, adLockOptimistic
rst.MoveFirst
 
Do While Not (rst.EOF)
 
CmbService.AddItem rst!Nomservice
rst.MoveNext
 
Loop

Merci aux courageux qui auront tout lu