Bonsoir,

j'affiche des données issues d'une table mysql dans un datagridview1, après avoir sélectionné un nom dans une combobox,

lorsque je sélectionne mon premier nom dans ma combobox et que je clique sur rechercher, pas de problème le résultat de ma requête s'affiche.
Le problème apparaît lorsque j'effectue une seconde recherche, je sélectionne un autre nom dans ma combobox et la j'obtient ce message d'erreur :

La référence d'objet n'est pas définie à une instance d'un objet.

Comment cela ce fait il étant donné que ma première requête fonctionne les autres requêtes le devrait aussi !

voici 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
Public Class affect
    Dim HostConn As New MySqlConnection 'Pour une conexion a base de données MySQL
        Dim da2 As MySqlDataAdapter 'is use to update the dataset and datasource
    Dim dst2 As New DataSet 'miniature of your table - cache table to client
    Dim requete As String 'Chaine ou sera stocker les requetes
 
Private Sub affect_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 HostConn.ConnectionString = "server=localhost;" _
                                     & "user id=root;" _
                                     & "password=;" _
                                     & "database=intervention"
        Try
            HostConn.Open()
        Catch myerror As MySqlException
            MessageBox.Show("Erreur de connection à la base: " & myerror.Message)
        End Try
 
'mon bouton recherche
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        'ici requete pour la recherche d'aprés le choix de la combo
        da2 = New MySqlDataAdapter("SELECT vehicule, fonction, count(id) AS nbr_inter FROM affect WHERE identite = '" & ComboBox1.SelectedItem & "' GROUP BY vehicule, fonction", HostConn)
        da2.Fill(dst2, "affect")
        DataGridView1.DataSource = dst2.Tables("affect")
        DataGridView1.Columns("vehicule").HeaderText = "Vehicules"
        DataGridView1.Columns("vehicule").Width = 80
        DataGridView1.Columns("fonction").HeaderText = "Fonction"
        DataGridView1.Columns("fonction").Width = 70
        DataGridView1.Columns("nbr_inter").HeaderText = "Nbrs/inters"
        DataGridView1.Columns("nbr_inter").Width = 120
        DataGridView1.AllowUserToAddRows = False
        DataGridView1.RowHeadersVisible = False
        Label2.Text = "Détail pour " & (ComboBox1.SelectedItem).ToString
        DataGridView1.Columns.Clear()
        dst2.Clear()
    End Sub
l'erreur apparait pour cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DataGridView1.Columns("vehicule").HeaderText = "Vehicules"