none
probléme de mise a jour de ma combbox dans mon code suivant RRS feed

  • Question

  • Bonjour,

    Ci-dessous mon code pour ajouter un enregistrement et afficher ces derniers dans ma combobox nomé ListClient. Le probléme quand j'ajoute un enregistrement ma combobox ne ce met pas a jour il faut que je quitte le prog pour que cela devienne effectif. Pourriez vous m'aider merci. Je suis en visual basic 2010 base de donnée acces.

    Imports System.Data
    Imports System.Data.OleDb
    Public Class Fichier
        ' N° de place de l'enregistrement
        Dim Place_Enregistrement As Integer
        ' Nombre total d'enregistrements dans la table Amis
        Dim Max_Enregistrements As Integer
        ' Notre objet connexion
        Dim con As New OleDb.OleDbConnection
        ' Notre dataset
        Dim ds As New situation_referenceDataSet
        ' La variable qui contient l'ID de l'enregistrement en cours
        Dim Val_ID As Integer

        Private Sub Fichier_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & "C:\Speed plan\Plan tricotage\situation reference.mdb"
            Connexion()
        End Sub

        Private Sub Connexion()
            ' OleDbCommand représentera ici une instruction SQL à exécuter par rapport à une source de données
            Dim cmd As OleDb.OleDbCommand
            ' Déclaration de sql_ajouter, qui contiens la requête SQL permettant d'ajouter un enregistrement
            Dim sql_tout_afficher As String
            sql_tout_afficher = "SELECT * FROM `tab client`"
            ' Initialisation de la requête
            cmd = New OleDb.OleDbCommand(sql_tout_afficher, con)
            ' Ouverture de la connexion
            cmd.Connection.Open()
            '(3) Récupération du résultat de la requête dans un dataset
            ' Déclaration de notre data adapter
            Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
            ' On sélectionne les enregistrements de la requête
            da.SelectCommand = cmd
            ' et on injecte les enregistrements dans le dataset
            da.Fill(ds, "tab client")
            ' Fermeture de la connexion
            cmd.Connection.Close()
            ' Calcul du nombre d'enregistrements dans la table Amis
            Max_Enregistrements = ds.Tables("tab client").Rows.Count
            ' Si la table ne contien aucun enregistrement, on désactive tous les boutons
            ' sauf le bouton ajouter
            If Max_Enregistrements = 0 Then
                'Bouton_modifier.Enabled = False
                'Bouton_suivant.Enabled = False
                'Bouton_precedent.Enabled = False
                'Bouton_modifier.Enabled = False
                'Bouton_premier.Enabled = False
                'Bouton_dernier.Enabled = False
                'Bouton_supprimer.Enabled = False
                'Prenom.Text = ""
                'Nom.Text = ""
                ' Si la table n'est pas vide
            Else
                ' A l'ouverture de l'application et lorsqu'on insère un nouvel enregistrement
                ' on affiche le premier enregistrement de la table
                Place_Enregistrement = 0
                ' On appelle Private Sub Navigation()
                Navigation()
            End If
        End Sub

        Private Sub Navigation()
            'TODO: cette ligne de code charge les données dans la table 'Situation_referenceDataSet.tab_client'
            Me.Tab_clientTableAdapter.Fill(Me.Situation_referenceDataSet.tab_client)
        End Sub

        Private Sub AjoutClient_Click(sender As System.Object, e As System.EventArgs) Handles AjoutClient.Click
            ' Déclaration de la variable cmd
            ' OleDbCommand représentera ici une instruction SQL à exécuter par rapport à une source de données
            Dim cmd As OleDb.OleDbCommand
            ' Déclaration de sql_ajouter, qui contiendra la requête SQL permettant d'ajouter un enregistrement
            Dim sql_ajouter As String
            ' On écrit notre requête et on l'assigne à la variable sql_ajouter
            sql_ajouter = "INSERT INTO `tab client` (`client`) VALUES(Val_Client)"
            ' Initialisation de la requête
            cmd = New OleDb.OleDbCommand(sql_ajouter, con)
            ' On définit les paramètres utilisés pour le bon déroulement de la requête
            ' On assigne à Val_Client" le texte contenu dans le textbox AjoutClient
            cmd.Parameters.AddWithValue("Val_Client", TextBox1.Text)
            ' Ouverture de la connexion
            cmd.Connection.Open()
            ' Exécution de la requête SQL
            cmd.ExecuteReader()
            ' Fermeture de la connexion
            cmd.Connection.Close()
            ' On efface les deux "textbox"
            'txt_ajouter_prenom.Text = ""
            'txt_ajouter_nom.Text = ""
            ' Message indiquant que le nouveau contact a bien été enregistré
            MsgBox("Le nouveau Client : " & TextBox1.Text & " a bien été enregistré.")
            ' On vide le dataset
            ds.Clear()
            ' et on le réaffiche en faisant appel à Connexion()
            ' pour que notre nouveau contact apparaisse bien
            Connexion()
            ' Si la table contient 1 seul enregistrement après avoir cliqué sur le bouton ajouter
            ' il faut activer tous les boutons
            If Max_Enregistrements = 1 Then
                'Bouton_modifier.Enabled = True
                'Bouton_suivant.Enabled = True
                'Bouton_precedent.Enabled = True
                'Bouton_modifier.Enabled = True
                'Bouton_premier.Enabled = True
                'Bouton_dernier.Enabled = True
                'Bouton_supprimer.Enabled = True
            End If
        End Sub
    End Class

    mon adresse mail : zbiro@ultramaille.mg

    merci d'avance

    jeudi 14 juin 2012 15:36

Toutes les réponses

  • Ci-dessous mon code pour ajouter un enregistrement et afficher ces derniers dans ma combobox nomé ListClient. Le probléme quand j'ajoute un enregistrement ma combobox ne ce met pas a jour il faut que je quitte le prog pour que cela devienne effectif. Pourriez vous m'aider merci. Je suis en visual basic 2010 base de donnée acces.

    Bonjour, suite

    Quand tu ajoutes un élément à une comboBox celui-ci est pris immdiatement en compte, ce que tu écris provient peut être du fait que tu ne vois pas ton rajout (en fin), mais il devrait être présent, tu peux donc faire :

    ComboBox1.items.add("Ce que tu rajoutes en fin")
    ' voir le rajout
    ComboBox.SelectedIndex = ComboBox1.ItemsCount - 1

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    • Proposé comme réponse EhJoe vendredi 15 juin 2012 08:25
    vendredi 15 juin 2012 08:25