Problème application vb.net

Fermé
JAVA J2EE - 17 oct. 2010 à 18:19
 JAVA J2EE - 17 oct. 2010 à 23:09
Bonjour,
J'ai créer une application vb.net sous visual basic 2005 avec une base de donnée Access j'ai créer tout le code et les interfaces des formulaire demander mais j'ai un problème au niveau « formulaire Réparation ascenseur » lors de l'exécution il m'affiche ce message
(La référence d'objet n'est pas définie à une instance d'un objet.) Voila le code

//declaration
Public cmdRe As New OleDbCommand("select * from Reparation", con)
Public daRe As New OleDbDataAdapter(cmdRe)
Public dsEn As New DataSet
Public cbRe As New OleDbCommandBuilder(daRe)
---------------------------------------------------------------------

If Me.RadioButton1.Checked = True Then
rb = RadioButton1.Text
Else
rb = RadioButton2.Text
End If
Dim ds As New DataSet
Dim da1 As New OleDbDataAdapter("select Client.id_clt from Client where Client.nom= '" & t(0) & " 'and Client.prenom='" & t(1) & " '", con)
da1.Fill(dsRe, "Reparation")
cbRe = New OleDbCommandBuilder(da1)
da1.Update(dsRe, "Reparation")
t = Me.ComboBox1.Text.Split(" ")
row = dsRe.Tables("Reparation").NewRow

row(1) = dsRe.Tables("id_clt").Rows(0)(0)
row(2) = Me.ComboBox2.Text
row(3) = rb
row(4) = Me.DateTimePicker1.Value.Date

dsRe.Tables(0).Rows.Add(row)
cbRe = New OleDbCommandBuilder(daRe)
daRe.Update(dsRe, "Reparation")
dsRe.Clear()
daRe.Fill(dsRe, "Reparation")
MsgBox("l'ajout réussi avec succès")

----------------------------- l'interface -----------------------------------------
Nom et prénom du Client : combobox1
Type de paiement : combobox2
Paiement : Radio bouton
Date : dateTimePicker

|Bouton d'ajout | |---bouton fermeture|

-----------------------------------------------------------
Aide moi s'il vous plait pour résoudre mon problème et avoir un solution pour ce message d'erreur.
Merci d'avance











2 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
Modifié par lermite222 le 17/10/2010 à 18:57
Bonjour,
Tu ne dis pas sur quel ligne ça plante !
Mais il me semble que tu emploi la variable T à deux reprises et sans déclaration.
En Net, obliger de dimentionner T() ' Ca marche pas sans les parenthèses
Dim T() As String

Et plus haut tu à T(0) et T(1) ??
ensuite
t = Me.ComboBox1.Text.Split(" ")  ??

Et j'ai pas vérifier mais je crois que...
    t = Split(Me.ComboBox1.Text," ")

irait mieux
A+
Edit: j'ai vérifier Split et c'est bien comme je l'indique.
ReEdit: Ca fonctionne également à ta façon. :-)
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
Merci beaucoup pour votre reponse

L'erreur sélectionner sur cette ligne «
row(1) =dsRe.Tables("id_clt").Rows(0)(0) »
Voila le code complet de formulaire :


Imports System.Data.OleDb
Public Class Reparation
Dim rb As String
Dim br As String
Dim t() As String

Sub annuler()
Try
ComboBox1.Text = ""
ComboBox2.Text = ""
DateTimePicker1.Text = ""
ComboBox1.Focus()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub Reparation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ComboBox2.Items.Add("Chèque")
ComboBox2.Items.Add("Espéce ")
ComboBox2.Items.Add("Autre")
Try
cmdRe.CommandText = "select * from Reparation"
daRe = New OleDbDataAdapter(cmdRe)
cmdRe.Connection() = con
daRe.Fill(dsRe, "Reparation")
Catch ex As Exception
MsgBox(ex.Message)
End Try
Try
Dim macommande As OleDbCommand = con.CreateCommand
con.Open()
macommande.CommandText = "select Client.nom , Client.prenom from Client"
Dim mareader As OleDbDataReader = macommande.ExecuteReader()
Me.ComboBox1.ResetText()
Me.ComboBox1.Items.Clear()
Do While mareader.Read()
ComboBox1.Items.Add(mareader(0) & " " & mareader(1))
Loop
con.Close()
dsRe.Clear()
daRe.Fill(dsRe, "Reparation")
Catch ex As Exception
MsgBox(ex.Message)
End Try
Try
cmdClt.CommandText = "select * from Client"
daClt = New OleDbDataAdapter(cmdClt)
cmdRe.Connection() = con
daClt.Fill(dsClt, "Client")
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Sub

Private Sub Ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ajouter.Click
If Me.RadioButton1.Checked = True Then
rb = RadioButton1.Text
Else
rb = RadioButton2.Text
End If
Dim ds As New DataSet
t = Split(Me.ComboBox1.Text, " ")
't = Me.ComboBox1.Text.Split(" ")
Dim da1 As New OleDbDataAdapter("select Client.id_clt from Client where Client.nom= '" & t(0) & " 'and Client.prenom='" & t(1) & " '", con)
da1.Fill(dsRe, "Reparation")
cbRe = New OleDbCommandBuilder(da1)
da1.Update(dsRe, "Reparation")
row = dsRe.Tables("Reparation").NewRow

row(1) = dsRe.Tables("id_clt").Rows(0)(0)
row(2) = Me.ComboBox2.Text
row(3) = rb
row(4) = Me.DateTimePicker1.Value.Date

dsRe.Tables(0).Rows.Add(row)
cbRe = New OleDbCommandBuilder(daRe)
daRe.Update(dsRe, "Reparation")
dsRe.Clear()
daRe.Fill(dsRe, "Reparation")
'MsgBox("l'ajout réussi avec succès")
annuler()
End Sub
Private Sub fermer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class
0