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

VB.NET Discussion :

Créer des TextBox dynamiquement selon le resultat d'une requête sql (distinct) [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 41
    Points
    41
    Par défaut Créer des TextBox dynamiquement selon le resultat d'une requête sql (distinct)
    Bonjour,

    Je cherche à faire la chose suivante.

    Un form.

    Dans ce form, j'aimerais qu'existe plusieurs Textbox l'une au dessus de l'autre.

    Cependant, j'aimerais que ces TextBox se créaient dynamiquement selon le nombre de résultat retourné par une requête SQL "select distinct...". Donc 4 résultats donnerait 4 texbox, 5 en donnerait 5... etc...
    Cerise sur la gateau j'aimerais que le .text de la textbox soit le résultat de la requête


    Auriez vous une idée pour la mise en place de ceci ?


    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim X as integer = 5 'absisce que tu choisis pour la première textbox
    Dim Y as integer = 5 'ordonnée que tu choisis pour la première textbox
     
    While reader.read
     
    dim tb as new textbox
    tb.text = reader("Nom_du_champ")
    mon_control.controls.add(tb)
    tb.position.x= X
    tb.position.y= Y
    Y += 5 'on déplacera la prochaine tb de 5 pixels vers le bas (par exemple)
     
    End while
    Bon voilà en gros, je tape ça comme ça, c'est pas du code a copier coller brut, c'est le principe.
    Il me semble que quand tu ajoutes la texbox au control tu as possibilité déjà de choisir son emplacement.

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 41
    Points
    41
    Par défaut
    Alors, m'inpirant de ton aide et de ce que j'ai trouvé sur le net, j'ai testé ceci

    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
     
            strsql = "SELECT distinct typedépense from dépenses"
            Dim acscmd As New OleDb.OleDbCommand
            acscmd.CommandText = strsql
            acscmd.Connection = acsconn
            acscdr = acscmd.ExecuteReader
     
            Dim i As Integer
     
     
            While acscdr.Read
                For i = 1 To 3
                    Dim x As New TextBox
                    x.Name = "TextBox" & Str(i)
                    x.Text = acscdr("typedépense")
                    Controls.Add(x)
                    x.Left = 842
                    x.Top = i * 50
                    x.Width = 150
                Next i
            End While

    ça me fait 3 textbox (car c'est moi qui ait indiqué 3) mais le texte est toujours le même (assurance)

    Alors que mon souhait aurait été de voir une textbox "assurance", un autre "electricité", et autre "eau" ...

  4. #4
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 41
    Points
    41
    Par défaut
    Ah ben jme suis débrouiller en faisant plus simple... pourquoi se compliquer ?


    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
            strsql = "SELECT distinct typedépense from dépenses"
            Dim acscmd As New OleDb.OleDbCommand
            acscmd.CommandText = strsql
            acscmd.Connection = acsconn
            acscdr = acscmd.ExecuteReader
     
            Dim i As Integer
     
            i = 1
            While acscdr.Read
     
                Dim x As New TextBox
                x.Name = "TextBox" & Str(i)
                x.Text = acscdr("typedépense")
                Controls.Add(x)
                x.Left = 842
                x.Top = i * 50
                x.Width = 150
                i = i + 1
            End While

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

Discussions similaires

  1. Créer des TextBox dynamiquement dans un UserForm ?
    Par Hellgast dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 05/06/2014, 22h16
  2. Réponses: 6
    Dernier message: 25/09/2009, 13h28
  3. Resultat d'une requête SQL sous C
    Par riadh8 dans le forum Linux
    Réponses: 1
    Dernier message: 18/04/2009, 21h47
  4. Réponses: 1
    Dernier message: 07/04/2008, 11h23
  5. [MySQL] Est-ce possible de creer des champs en temps réel lors d'une requête SQL ?
    Par kaptnkill dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/09/2006, 19h18

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