Bonjour, voila je viens de réaliser un p'tit bout de programme qui permet au lancement de l'application de s'inscrire et ainsi pouvoir utiliser l'apllication et aussi recuperer son mot si oublier l'application marche mais j'ai l'impression que au fur et a mesure du développement je me suis un peu perdu.
Si quelqu'un pourrait jeté un coup d'oeil et me dire ce qui ne vas pas ? car programmé c'est possible mais bien programmé c'est un peu plus compliqué. merci d'avance.

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
 
Imports System.Data
Imports System.Data.OleDb
Imports DAO
Imports DAO.LanguageConstants
 
Module base
 
    'CREE le chemin d'accès à la base
    Public Function createChemin() As String
        Dim chemin As String
        Dim dbname As String = "Base"
        Dim cheminApp As String = Application.StartupPath
        cheminApp &= "\"
        chemin = cheminApp & dbname & ".mdb"
        'MessageBox.Show(chemin)
        Return chemin
    End Function
 
    ' TEST si la base existe
    'renvoie ok si base existe
    Public Function test() As Boolean
        If System.IO.File.Exists(createChemin()) Then
            Return True
        Else
            Return False
        End If
    End Function
 
    'Declarer la connexion
    Private Cnx As OleDbConnection
    'Objet commande
    Private Cmd As OleDbCommand
    'Paramètre de connexion
    Private dta As OleDbDataAdapter
    Private CnxStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & createChemin() & ";"
    Private dts As New DataSet
    Private dt As DataTable
    Private dtc As DataColumn
    Private dtr As DataRow
 
    Public Sub connection()
        Try
            Cnx = New OleDbConnection
            'Donner à la propriété ConnectionString les paramètres de connexion
            Cnx.ConnectionString = CnxStr
            'Ouvrir la connexion
            Cnx.Open()
            'Instancier un objet Commande
            Cmd = New OleDbCommand
            'Lier Commande et Connexion
            Cmd.Connection = Cnx
        Catch ex As Exception
            MsgBox("Erreur de création de la table" & vbCrLf & ex.Message, , "Erreur")
        End Try
    End Sub
    Public Sub create_base()
 
        Try
            Dim dbe As New DBEngine
            Dim db As Database
 
            db = dbe.CreateDatabase("base", dbLangGeneral)
 
            If Not (db Is Nothing) Then db.Close()
        Catch ex As Exception
            MsgBox("Erreur de création de la base de donnée" & vbCrLf & ex.Message, , "Erreur")
        End Try
 
        connection()
        Try
            'Indiquer le type de commande
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "CREATE TABLE USERS (LOGIN CHAR(8) NOT NULL PRIMARY KEY,MDP CHAR(8) NOT NULL,QUESTION VARCHAR(32) NOT NULL,REPONSE CHAR(8) NOT NULL)"
            'on exécute la commande
            Cmd.ExecuteNonQuery()
            'Fermer la connexion
            Cnx.Close()
 
        Catch ex As Exception
            MsgBox("Erreur de création de la table USERS" & vbCrLf & ex.Message, , "Erreur")
        End Try
 
    End Sub
 
    Public Function insert_user(ByVal login As String, ByVal mdp As String, ByVal question As String, ByVal rep As String) As Boolean
 
        connection()
        Try
            'Indiquer le type de commande
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "INSERT INTO USERS (LOGIN, MDP, QUESTION, REPONSE) VALUES ('" & login & "','" & mdp & "','" & question & "','" & rep & "')"
            'on exécute la commande
            Cmd.ExecuteNonQuery()
            'Fermer la connexion
            Cnx.Close()
            Return True
        Catch ex As Exception
            MsgBox("Erreur dans l'insertion de d'un USERS" & vbCrLf & ex.Message, , "Erreur")
            Return False
        End Try
 
    End Function
 
    'Charge la table USERS en connectant
    Public Sub TableUSERS(ByVal log As String)
        Dim sql As String
        dts.Clear()
        connection()
        Try
            'Indiquer le type de commande
            Cmd.CommandType = CommandType.Text
            sql = "select * from USERS where login ='" & log & "'"
            'on exécute la commande
            Cmd = New OleDbCommand(sql)
            dta = New OleDbDataAdapter(Cmd)
            Cmd.Connection() = Cnx
            dta.Fill(dts, "USERS")
            dt = dts.Tables("USERS")
        Catch ex As Exception
            MsgBox("Erreur de recherche dans la table USERS" & vbCrLf & ex.Message, , "Erreur")
        End Try
    End Sub
 
    'Vérifie si le login existe ou pas
    Public Function rech_user(ByVal login As String) As Boolean
        TableUSERS(login)
        If dt.Rows.Count() = 0 Then
            'MessageBox.Show(dt.Rows.Count())
            Return False
        Else
            'MessageBox.Show(dt.Rows.Count())
            Return True
        End If
        'Fermer la connexion
        Cnx.Close()
    End Function
 
    'Rempli le combobox de la question et retourne la reponse
    Public Function info_user(ByVal login As String) As String
        TableUSERS(login)
        mdpoubli.TBquest.Text = dt.Rows(0).Item(2)
        Return dt.Rows(0).Item(3)
    End Function
    'renvoie le mot de passe
    Public Function mdp_user(ByVal login As String) As String
        TableUSERS(login)
        Return dt.Rows(0).Item(1)
    End Function
End Module