bonjour

j'ai une apllication VB NET avec une base de donnée et des TextBox:
Nom
date
montant
regle

il se peu qu'un montant soit deja renseigné ou non.
j'aimerai qu'à la perte de focus de la textbox montant, une autre textbox apelé txtBox1 prenne la valeur du montant d'avant (la valeur ou 0 si il en existe pas) plus la valeur de la text box actuelle.

Cependant, une erreur chaine d'entrée incorect se preduit et je ne vois pas pourquoi ??

Voila mon code
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
Private Sub txt_reg_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_reg.LostFocus
        'Declaration d'un objet permettant la connexion à la base de données
        Dim maConnexion As OleDbConnection
        'Declaration d'un objet permettant léxécution des requêtes sur la based
        Dim maCommande2 As OleDbCommand
        'Declaration d'un objet permettant de récupérer le resultat de la requête
        Dim drNomSal As OleDbDataReader
        'Declaration d'une variable permettant de spécifier les parametres de connexion à la base
        Dim strConnect As String
        'Declaration d'une variable permettant de définir la requetes SQL
        Dim strSql2 As String
 
        Dim montant As Double
        montant = Convert.ToDouble(txt_MT.Text)
 
        Try
            'Renseignement des parametres de connexion
            strConnect = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='C:\Documents and Settings\fdefrocourt\Bureau\Caisse\bdd_agroform.mdb';User ID=Admin;Password=;"
            'Creation de l'objet maConnexion responsable de la connexion
            maConnexion = New OleDbConnection(strConnect)
            'Ecriture de la requete SQL
            strSql2 = "Select nomSal, MTEnc FROM Encaissement"
            'Creation de l'objet maCommande contenant la requete
            maCommande2 = New OleDbCommand(strSql2, maConnexion)
            'Ouverture de la base de données
            maConnexion.Open()
            'Exécution de la requete retournant une lignes
            drNomSal = maCommande2.ExecuteReader
 
            While (drNomSal.Read() = True)
                If drNomSal("nomSal") = txt_nom.Text Then
                    TextBox1.Text = drNomSal("MTEnc")
                    TextBox1.Text = Convert.ToDouble(TextBox1.Text)
                    TextBox1.Text = TextBox1.Text + montant
                End If
            End While
 
        Catch err As System.Data.OleDb.OleDbException
            MessageBox.Show("ERREUR requête ACCESS:" + err.Message)
        Catch err As System.InvalidOperationException
            MessageBox.Show("ERREUR:" + err.Message)
        Catch err As Exception
            MessageBox.Show("ERREUR GRAVE:" + err.Message)
        End Try
    End Sub

En vous remerciant !