Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > VB.NET
VB.NET Forum d'entraide sur la programmation Visual Basic .NET. Avant de poster -> FAQ VB.NET, Articles VB.NET, Sources VB.NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 18/12/2012, 18h57   #1
hugnka
Futur Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 80
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 80
Points : 17
Points : 17
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 :
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 :
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.
hugnka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2012, 23h21   #2
sevyc64
Modérateur
 
Avatar de sevyc64
 
Homme Yves
Développeur informatique
Inscription : janvier 2007
Messages : 5 292
Détails du profil
Informations personnelles :
Nom : Homme Yves
Âge : 40
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2007
Messages : 5 292
Points : 11 960
Points : 11 960
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
sevyc64 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/12/2012, 18h41   #3
hugnka
Futur Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 80
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 80
Points : 17
Points : 17
Tout d'abord merci pour votre réponse. Ok je vais m'essayer à ce que vous dites. Merci
hugnka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 20h57   #4
Naografix
Invité de passage
 
Inscription : novembre 2012
Messages : 17
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 17
Points : 1
Points : 1
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 !
Naografix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 21h24   #5
hugnka
Futur Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 80
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 80
Points : 17
Points : 17
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
hugnka est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h53.


 
 
 
 
Partenaires

Hébergement Web