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 :

Comment utiliser les données d'un formulaire dans un autre formulaire? [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut Comment utiliser les données d'un formulaire dans un autre formulaire?
    Salut la communauté.Dans mon objectif de création d'une application windows, je souhaite utiliser quelques données de mon formulaire Membre vers mon formulaire cotisation.Les champs concernés sont:date_adhe,nom,prenom et photo(la photo du membre). Il faut dire aussi que j'ai créer un bouton sur mon formulaire"Membre" afin d'afficher le formulaire "cotisation". Pour cela pas de problème.Mon objectif c'est qu'après que mon formulaire "Membre"soit rempli en cliquant sur mon bouton,mon formulaire "cotisation"s'affiche en affichant les données entrées dans mon formulaire "membre"(les champs cités juste en haut). J'ai utilisé ce code
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     Private Sub Cotisation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Me.MaskedTextBox1.Text = Membre.Date_adheMaskedTextBox.Text
            Me.NomTextBox.Text = Membre.NomTextBox.Text
            Me.PrenomsTextBox.Text = Membre.PrenomTextBox.Text
            Me.PictureBox1.Image = Membre.PictureBox1.Image
            Timer1.Start()
            'ouverture de la connection(à partir du répertoire de l'application)
            conn = "Data Source = |DataDirectory|\mabase.sdf"
            cnx = New SqlCeConnection
            cnx.ConnectionString = conn
            cnx.Open()
            sql = "select* from Cotisation"
            cmd = New SqlCeCommand(sql)
            dta = New SqlCeDataAdapter(cmd)
            cmd.Connection() = cnx
     
            'chargement du DataSet à partir du DataAdapter                  
            dta.Fill(dts, "Cotisation")
     
            'chargement de la DataTable à partir du DataSet                 
            dtt = dts.Tables("Cotisation")
            'si la table est vide alors
            If rownum > dtt.Rows.Count - 1 Then
     
                'désactivation des boutons pour éviter une erreur 
                'si la table est vide
                btnenreg.Enabled = True
     
                btnmodi.Enabled = False
                btnsup.Enabled = False
            Else
     
                'affichage des données dans les textbox 
                'Me.Mont_cotiMaskedTextBox.Text = dtt.Rows(rownum).Item("mont_coti")
                ' Me.MaskedTextBox1.Text = dtt.Rows(rownum).Item("mont_coti")
                If IsDBNull(dtt.Rows(rownum).Item("mont_coti")) Then
                    Me.MaskedTextBox1.Text = ""
                Else
                    Me.MaskedTextBox1.Text = dtt.Rows(rownum).Item("mont_coti")
                End If
                Me.MaskedTextBox1.Text = dtt.Rows(rownum).Item("date_adhe")
                Me.NomTextBox.Text = dtt.Rows(rownum).Item("nom")
                Me.PrenomsTextBox.Text = dtt.Rows(rownum).Item("prenoms")
                Me.Date_janvMaskedTextBox.Text = dtt.Rows(rownum).Item("date_janv")
                Me.Date_fevMaskedTextBox.Text = dtt.Rows(rownum).Item("date_fev")
                Me.Date_marsMaskedTextBox.Text = dtt.Rows(rownum).Item("date_mars")
                Me.Date_avrMaskedTextBox.Text = dtt.Rows(rownum).Item("date_avr")
                Me.Date_maiMaskedTextBox.Text = dtt.Rows(rownum).Item("date_mai")
                Me.Date_juinMaskedTextBox.Text = dtt.Rows(rownum).Item("date_juin")
                Me.Date_juillMaskedTextBox.Text = dtt.Rows(rownum).Item("date_juill")
                Me.Date_aoutMaskedTextBox.Text = dtt.Rows(rownum).Item("date_aout")
                Me.Date_septMaskedTextBox.Text = dtt.Rows(rownum).Item("date_sept")
                Me.Date_octMaskedTextBox.Text = dtt.Rows(rownum).Item("date_oct")
                Me.Date_novMaskedTextBox.Text = dtt.Rows(rownum).Item("date_nov")
                Me.Date_decMaskedTextBox.Text = dtt.Rows(rownum).Item("date_dec")
                Me.AvanceMaskedTextBox.Text = dtt.Rows(rownum).Item("avance")
                Me.ArrieresMaskedTextBox.Text = dtt.Rows(rownum).Item("arrieres")
                Me.Somm_dueMaskedTextBox.Text = dtt.Rows(rownum).Item("somm_due")
                Me.TotalMaskedTextBox.Text = dtt.Rows(rownum).Item("total")
                Me.NoteTextBox.Text = dtt.Rows(rownum).Item("note")
                'gestion des photos
                Dim c As Integer = dts.Tables("Cotisation").Rows.Count
                If c > 0 Then
                    Dim bytBLOBData() As Byte = _
                    dts.Tables("Cotisation").Rows(0)("photo")
                    Dim stmBLOBData As New MemoryStream(bytBLOBData)
                    PictureBox1.Image = Image.FromStream(stmBLOBData)
     
                End If
            End If
        End Sub
    En fait j'ai aussi des boutons qui me permettent de naviguer entre mes enregistrements. Donc ce que je veux c'est qu'en fonction de mon enregistrement affiché sur mon formulaire "Membre",en cliquant sur mon bouton,le nom,le prenom,la date_adhe et la photo de ce membre s'affiche automatiquement dans mon formulaire"Cotisation"
    Mais le problème c'est que lorsqu'il y a plusieurs enregistrements dans ma table c'est uniquement le premier enregistrement qui s'affiche dans "Cotisation". Voici les codes que j'utilise au cas ou cela devrait être utile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Private Sub btnfichcoti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnfichcoti.Click
      'pour afficher le formulaire cotisation
            'Me.Hide()
            Cotisation.Show()
        End Sub
    Merci d'avance et j'espère que j'ai été clair dans la formulation de mon problème.

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Pas forcément évident.

    Il faudrait prévoir un système de communication entre les 2 forms, au minimum que la form2 soit informée que l'enregistrement a changé sur la form1 et que donc elle recharge les nouvelles informations.

    Je sais pas si ça peut se réaliser, mais peut-être peux tu explorer la piste de créer un évènement.
    L'idée, peut-être, serait de créer un évènement sur la form1. Sur la form2, tu t'abonnerait à cet évènement.
    A chaque changement d'enregistrement dans la form1, tu déclencherais l'évènement. Donc dans la form2, le code de traitement de l'évènement serait appelé. Dans ce code tu viendrais lire les nouvelles informations comme tu le fais la première fois dans le load.

    Je pense que c'est une piste à creuser.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    Tout d'abord merci pour votre réponse. Ok je vais m'essayer à ce que vous dites. Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 46
    Points
    46
    Par défaut
    Si tu veux utiliser une variable d'un form sur un autre form, declare la comme ca :

    Public MaVariable as String

    Ensuite dans ton autre form, tu fais : form1.MaVariable.

    Wala !

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    Excusez moi mais j'ai oublié un détail.Au fait c'est lorsqu'il y a un enregistrement dans ma table cotisation que j'ai ce problème

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

Discussions similaires

  1. [2.x] Utiliser les données du user connecté dans un formulaire
    Par magicbisous-nours dans le forum Symfony
    Réponses: 8
    Dernier message: 16/07/2012, 14h41
  2. Comment utiliser les données JSON dans un formpanel ?
    Par Nemesis007 dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 22/09/2010, 01h43
  3. Réponses: 15
    Dernier message: 10/06/2010, 17h32
  4. Réponses: 0
    Dernier message: 12/05/2008, 19h40
  5. Réponses: 5
    Dernier message: 07/03/2008, 19h46

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