VB NET Probleme de format de chaine d'entrée
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:
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 !