Pb comboBox indépendants (vbnet)

Pb comboBox indépendants (vbnet) - VB/VBA/VBS - Programmation

Marsh Posté le 23-05-2005 à 21:22:44    

J'ai un petit souci avec mes comboBox.
 
J'ai 4 combobox sur un controle utilisateurs.
  > 2 pour une table ACTIVITE
  > 2 pour une table PREOCCUPATION
 
J'arrive à charger les 4 combobox. Néanmoins lorsque je selectionne une activité dans le 1er combobox, cela selectionne automatiquement la meme activité dans le 2nd combobox.
Idem pour les préoccupations.
 
J'aimerais aussi gerer le fait que lorsqu'une activité est choisie ds le 1er combobox, elle ne soit plus disponible dans le 2nd combobox...
 
code :
Imports System.Data.OleDb
 
Public Class UC_AjoutInfoPatient
    Inherits System.Windows.Forms.UserControl
    'Déclarer la connexion
 
    Private ObjetConnection As OleDbConnection
 
    ' Déclaration l'Objet Commande
    Private ObjetCommand As OleDbCommand
 
    ' Déclaration Objet DataAdapter
    Private ObjetDataAdapter As OleDbDataAdapter
 
    ' Déclaration Objet DataSet
    Private ObjetDataSet As New DataSet
 
    'String contenant la 'Requête SQL
    Private strSql As String
 
    ' Déclaration Objet DataTable
    Private ObjetDataTable As DataTable
 
    'Paramêtres de connexion à la DB
    Private strConn As String
    Private choixAct1 As Object
    Private choixAct2 As Object
    Private choixPreo1 As Object
    Private choixPreo2 As Object
 
 
#Region " Code généré par le Concepteur Windows Form "
[...]
 
    Private Sub UC_AjoutInfoPatient_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' charger les activites et les préoccupations disponibles dans la base
        chargerComboBox(ComboBoxAct1, "ACTIVITE", "LIBELLE", "NUMACT" )
        chargerComboBox(ComboBoxAct2, "ACTIVITE", "LIBELLE", "NUMACT" )
        chargerComboBox(ComboBoxPre1, "PREOCCUPATION", "LIBELLE", "NUMPREO" )
        chargerComboBox(ComboBoxPre2, "PREOCCUPATION", "LIBELLE", "NUMPREO" )
 
 
    End Sub
 
    Private Sub chargerComboBox(ByVal cboBox As ComboBox, ByVal table As String, ByVal champ As String, ByVal id As String)
        'Initialisation de la chaîne de paramètres pour la connexion
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= d:\stage\InterfaceGraphique\db.mdb;"
 
        'Initialisation de la chaîne contenant l'instruction SQL
        strSql = "SELECT * FROM " & table
 
        'Instanciation d'un Objet Connexion
        ObjetConnection = New OleDbConnection
 
        'Donner à la propriété ConnectionString les paramètres de connexion
        ObjetConnection.ConnectionString = strConn
 
        'Ouvrir la connexion
        ObjetConnection.Open()
 
        'Instancer un objet Commande
        ObjetCommand = New OleDbCommand(strSql)
 
        'Instancer un objet Adapter
        ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
 
        'initialiser l'objet Command
        ObjetCommand.Connection() = ObjetConnection
 
        'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
        ObjetDataAdapter.Fill(ObjetDataSet, table)
 
        'Mettre dans un Objet DataTable une table du DataSet
        ObjetDataTable = ObjetDataSet.Tables(table)
 
 
        'Indiquer quelle colonne afficher
        cboBox.DisplayMember = champ
        cboBox.ValueMember = id
        'Indiquer au ListBox d'afficher la table (indiquer la source)
        cboBox.DataSource = ObjetDataSet.Tables(table)
 
    End Sub
    Private Sub chargerInfoPatient()
        ' charger nom prenom , sexe, cate, numdossier dans les labels
    End Sub
 
    Private Sub ComboBoxAct1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxAct1.SelectedIndexChanged
        Me.choixAct1 = ComboBoxAct1.ValueMember
    End Sub
    Private Sub ComboBoxAct2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxAct1.SelectedIndexChanged
 
        Me.choixAct2 = ComboBoxAct2.ValueMember
        If Me.choixAct2 = Me.choixAct1 Then
            MsgBox("Activités identiques", MsgBoxStyle.Exclamation)
        End If
    End Sub
    Private Sub ComboBoxPre1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxPre1.SelectedIndexChanged
        chargerComboBox(ComboBoxPre2, "PREOCCUPATION", "LIBELLE", "NUMPREO" )
    End Sub
    Private Sub ComboBoxPre2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxPre1.SelectedIndexChanged
        chargerComboBox(ComboBoxPre1, "PREOCCUPATION", "LIBELLE", "NUMPREO" )
    End Sub
 
End Class

Reply

Marsh Posté le 23-05-2005 à 21:22:44   

Reply

Marsh Posté le 23-05-2005 à 21:40:07    

faut il un dataset par cbobox ???

Reply

Marsh Posté le 25-05-2005 à 04:58:30    

resolu !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed