probléme de mise a jour de ma combbox dans mon code suivant
-
jeudi 14 juin 2012 15:36
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 Classmon adresse mail : zbiro@ultramaille.mg
merci d'avance
Toutes les réponses
-
vendredi 15 juin 2012 08:25
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

