IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VS 2005 VB.net] Méthode Fill avec filtre


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut [VS 2005 VB.net] Méthode Fill avec filtre
    Hello !

    J'ai une appli winforms.
    j'ai un dataset que je charge dès le début... j'ai ce code pour le chargement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.EntreprisesTableAdapter.Fill(Me.GpiDataSet.entreprises)
    Me.ProjetsTableAdapter.Fill(Me.GpiDataSet.projets)
    Me.CollaborateursTableAdapter.Fill(Me.GpiDataSet.collaborateurs)
    Me.ActivitesTableAdapter.Fill(Me.GpiDataSet.activites)
    c'est bien beau mais à force, ça va ramer, quand j'aurai plus de données... en plus, j'suis emmerdé avec mes états crystal reports car je n'arrive pas à faire fonctionner le filtre de date...

    alors me suis dis que j'avais qu'à filtrer à la base !

    Comment faire pour améliorer cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ActivitesTableAdapter.Fill(Me.GpiDataSet.activites)
    et dire que je veux pas tout, mais seulement les données de cette table dont le champs 'date' est compris entre "date x" et "date y" ??

    pitié... c'est le dernier truc pis après g fini l'appli.... arrggh !

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    en changeant ta requête de remplissage par une requête paramétrée

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    ..... ... c'est-à-dire ?...

    sqlcommand =... etc ?

    g vu ça, mais ça change pas un peu complètement mon appli tout ça ?!

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Dans VS 2005 , tu vas sur ton dataset , tu as des cases qui represente chaques tables , chaques cases est 'divisée' en 2 partie :

    - les champs de la tables
    - le tableadapter de ladite table

    tu clique sur le table adapter , puis dans les propriété de celui-ci tu vas sur la requette SELECt et tu la modifier via le generateur de requette .

    Je ne sais pas si tu peux faire cohabiter plusieurs requettes SELECT differentes ce qui peut s'averer pratique si tu as besoin de charger toute ta table a un certain moment de ton soft....

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    oui !... oui ça me parait être une bonne alternative...

    je laisse normal dans tout le soft, sauf sur mes form "crystal report", c'est-à-dire sur les form ou j'ai un reportviewer et le du code qui charge mon .rpt où je chagerai un 2e "acticitesTableAdapter" avec une requête modifiée...

    pis faut que je trouve comment dire dans ma requête "charger les 3 derniers mois depuis aujourd'hui...

    je regarde !

    mais ça résoudra pas mon prob en fait... car il faudrait surtout que je trouve comment pouvoir choisir une fourchette de date dynamiquement, genre avec deux DateTimePicker...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    chuis en train de paramétrer ma requète... "en dur" ça fonctionne !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_activite, date_activite, description, temps, id_num_projet, id_num_pers_elsa, id_entreprise FROM dbo.activites WHERE date_activite >= '10/01/2006 00:00:00' AND date_activite <= '10/31/2006 00:00:00'
    mais now j'aimerais faire du dynamique, on peut ?? genre dire : "entre les valeurs de ces DateTimePick' ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_activite, date_activite, description, temps, id_num_projet, id_num_pers_elsa, id_entreprise FROM dbo.activites WHERE date_activite >= Form93.DateTimePicker1.value AND date_activite <=Form93.DateTimePicker2.value
    mais la synthaxe est fausse !! Help please !!

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    personne n'a de solution pour travailler avec des objet vb pr que cela soit dynamique ??

    j'essaie tout, mais impossible !!

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Public Class Form93
     
        Private Sub Form93_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Try
     
                TextBox1.Text = DateTimePicker1.Value.ToString
                TextBox2.Text = DateTimePicker2.Value.ToString
     
                Dim a As String = "10/02/2006"
                Dim b As String = "10/22/2006"
                TextBox3.Text = a
                TextBox4.Text = b
     
                'TODO : cette ligne de code charge les données dans la table 'GpiDataSet.entreprises'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                Me.EntreprisesTableAdapter1.Fill(Me.GpiDataSet1.entreprises)
                'TODO : cette ligne de code charge les données dans la table 'GpiDataSet.projets'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                Me.ProjetsTableAdapter1.Fill(Me.GpiDataSet1.projets)
                'TODO : cette ligne de code charge les données dans la table 'GpiDataSet.collaborateurs'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                Me.CollaborateursTableAdapter1.Fill(Me.GpiDataSet1.collaborateurs)
                'TODO : cette ligne de code charge les données dans la table 'GpiDataSet.participer_entreprises'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                Me.Participer_entreprisesTableAdapter1.Fill(Me.GpiDataSet1.participer_entreprises)
                'TODO : cette ligne de code charge les données dans la table 'GpiDataSet.participer_collaborateurs'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                Me.Participer_collaborateursTableAdapter1.Fill(Me.GpiDataSet1.participer_collaborateurs)
                'TODO : cette ligne de code charge les données dans la table 'GpiDataSet.activites'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                'Me.ActivitesTableAdapter1.Fill(Me.GpiDataSet1.activites)
                Me.ActivitesTableAdapter1.FillBy(Me.GpiDataSet1.activites)
     
                Cursor = Cursors.WaitCursor
     
                Dim report As New CrystalReport4
                report.SetDataSource(GpiDataSet1)
                CrystalReportViewer1.ReportSource = report
     
                Cursor = Cursors.Default
     
            Catch ex As System.Exception
                System.Windows.Forms.MessageBox.Show(ex.Message)
            End Try
     
        End Sub
     
    End Class

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    C'est BOOON !!!! J'ai "fini" mon projet !!!!

    Code de la requête supplémentaire du TableAdapter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_activite, date_activite, description, temps, id_num_projet, id_num_pers_elsa, id_entreprise FROM dbo.activites WHERE date_activite BETWEEN @date1 AND @date2
    code dans le win Form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim date1 As Date
            Dim date2 As Date
            date1 = DateTimePicker1.Value
            date2 = DateTimePicker2.Value
     
            Me.ActivitesTableAdapter1.FillBy(Me.GpiDataSet1.activites, date1, date2)
    Amen, allelouia...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VB.Net 2005 : creation d'une form avec une requete
    Par SALIA LOUA OLIVIER dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/02/2010, 14h44
  2. Réponses: 2
    Dernier message: 21/09/2009, 16h10
  3. Problème avec la méthode Fill du DataAdapter
    Par simou22 dans le forum VB.NET
    Réponses: 17
    Dernier message: 10/01/2008, 11h13
  4. Réponses: 3
    Dernier message: 09/12/2007, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo