none
Filtrer une requète via une Windows form RRS feed

  • Question

  • Bonjour,

    Sous Access on peut paramétrer une requete de table via le formulaire en filtrant la colonne avec !Forms!Formulaire!Zone saisie.

    Comment faire la même opération sous Visual Studio 2010 dans le TableAdaptater ?

    Le but étant de remplir une combobox 1  de sélectionner une valeur et de remplir la seconde en fonction de la sélection de la précédente.

    Chaque combobox étant liée à une table via un dataset :

    Ex : Table 1 (Tab1ID, Tab1Name....)   Table 2 (Tab2ID, Tab2Name, Tab1ID ...) les tables étant liées par Tab1ID

     

     

    Me.taTab1DataSet.Fill(Me.dsTab1DataSet.TBL_Tab1)

     

     

    Me.ComboBox1.ItemsSource = Me.dsTab1DataSet.TBL_Tab1

     

     

    Me.ComboBox1.DisplayMemberPath = "Tab1Name"

     

     

    Me.ComboBox1.SelectedValuePath = "Tab1ID"

     

     

     

    End Sub

     

     

    Private Sub ComboBox1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)

     

     

    Me.taTab2DataSet.Fill(Me.dsRegionDataSet.TBL_Tab2)

     

     

    Me.ComboBox2.ItemsSource = Me.dsTab2nDataSet.TBL_Tab2

     

     

    Me.ComboBox2.SelectedValuePath = "Tab1Id"

    Me.ComboBox2.DisplayMemberPath = "Tab2Name"

     

     

    End Sub

    Dans l'état actuel de mon exemple quelque soit le choix sélectionner la seconde commbobox affiche toutes les valeurs.

    Merci de votre aide.

    Philippe

     

    lundi 7 mars 2011 16:16

Réponses

Toutes les réponses

  • Bonjour,

     

    Sur l’évènement SelectionChanged du premier ComboBox, exécutez un nouveau Select sur la base de données et rechargez le DataSet. Utilisez un paramètre SqlParameter avec la valeur sélectée dans le premier ComboBox :

    DataSet ds = new DataSet();

                SqlDataAdapter da = new SqlDataAdapter();

                da.Fill(ds);

     

                da.SelectCommand = new SqlCommand();

     

                da.SelectCommand.CommandText = ""; //commande de Select

                SqlParameter sqlPar = new SqlParameter();

                sqlPar.Value = ""; //valeur de ComboBox1

                da.SelectCommand.Parameters.Add(sqlPar);

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    jeudi 10 mars 2011 12:16
  • Merci Alex de votre réponse,

    J'ai oublié de préciser que j'étais en xaml.vb. Donc certaines commandes ne sont pas reconnues (ex : dataset Sql ...).

    Je cherche à transposer la solution mais je n'ai pas encore réussi.

    Si vous avez la possibilité de me la renvoyée modifiée cela m'aiderait beaucoup.

    Bien cordialement.

    Philippe

    jeudi 10 mars 2011 15:45
  • Bonjour,

     

    Voici la version VB :

    Dim ds As New DataSet()
    Dim da As New SqlDataAdapter()
    da.Fill(ds)
    da.SelectCommand = New SqlCommand()
    da.SelectCommand.CommandText = ""
    Dim sqlPar As New SqlParameter()
    sqlPar.Value = ""
    da.SelectCommand.Parameters.Add(sqlPar)
    

     

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

     
    Suivez MSDN sur Twitter 

    vendredi 11 mars 2011 11:54