Bonjour à tous.
Je suis en train de développer en VB.Net, un logiciel dans lequel j'ai deux Usercontrols distincts. Je suis débutant....
Le premier Usercontrol (nommé UC1) affiche des Picturebox simulant des boutons.
Quand on clique sur un bouton, on interroge une Base de données pour connaître une désignation, un prix HT et un prix TTC
Le second Usercontrol (nommé UC2) affiche une Picturebox et des labels pour afficher le résultat de la requête issue de l'appui sur le bouton du Usercontrol1.
L'UC2 simule un ticket de caisse.
Mon problème est que je n'arrive pas à afficher les valeurs de ma requête issues de UC1 dans les labels de l'UC2.
En déboguant le programme, les variables ont bien les valeurs issues de la base de données, mais ne se passent pas aux labels de l'UC2.
Code Bouton UC1:
Code UC2 :
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 Private Sub btn_tarif_presta_1_Click(sender As Object, e As EventArgs) Handles btn_tarif_presta_1.Click Dim table_item As String If Not cn_Perfect.State = ConnectionState.Open Then cn_Perfect.Open() End If provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" dataFile = "C:\Users\xxxx\Documents\Visual Studio 2017\Projects\WindowsApp7\WindowsApp7\PerfectHair.mdb" connString = provider & dataFile myConnection.ConnectionString = connString myConnection.Open() If type_cx = 1 Then table_item = "Tarifs_prestas_CC" End If If type_cx = 2 Then table_item = "Tarifs_prestas_CL" End If If sexe = 2 Then table_item = "Tarifs_prestas_h" End If If sexe = 3 Then table_item = "Tarifs_prestas_e" End If nb_items = nb_items + 1 Dim obj As New Usr_Ticket_Client 'Recherche Acronyme prestation dans la table Config_boutons_c nom_prestation = "SHBRHCC" 'Edition du ticket 'Recherche du tarif de la prestation Dim sql = "SELECT * FROM " & table_item & " WHERE Nom_presta= '" & nom_prestation & "'" nom_presta = New OleDbDataAdapter(sql, cn_Perfect) cmd_presta = New OleDbCommand(sql) nom_presta.Fill(ds, table_item) texte_ligne = ds.Tables(table_item).Rows(0)(3).ToString TTC_Ligne = ds.Tables(table_item).Rows(0)(6).ToString obj.lbl_Ticket_Ligne = texte_ligne obj.Lbl_Ticket_Ligne_1.Text = texte_ligne obj.Lbl_Ticket_TTC_Ligne_1.Text = TTC_Ligne & ",00" obj.Lbl_Ticket_HT.Text = Math.Round(Val(TTC_Ligne) / 1.2, 2) 'obj.Refresh() myConnection.Close()
Le déboguage du programme m'indique "Nothing" dans la variable lbl_Ticket_Ligne.
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 Public Class Usr_Ticket_Client Public Property lbl_Ticket_Ligne As String Private Sub btn_Carte_bleue_MouseHover(sender As Object, e As EventArgs) btn_Carte_bleue.Image = My.Resources.carte_bleue_on End Sub Private Sub btn_Carte_bleue_MouseLeave(sender As Object, e As EventArgs) btn_Carte_bleue.Image = My.Resources.Carte_bleue_off End Sub Private Sub btn_Chèque_MouseHover(sender As Object, e As EventArgs) btn_Chèque.Image = My.Resources.chèque_on End Sub Private Sub btn_Chèque_MouseLeave(sender As Object, e As EventArgs) btn_Chèque.Image = My.Resources.Chèque_off End Sub Private Sub btn_Espèces_MouseHover(sender As Object, e As EventArgs) btn_Espèces.Image = My.Resources.Espèces_on End Sub Private Sub btn_Espèces_MouseLeave(sender As Object, e As EventArgs) btn_Espèces.Image = My.Resources.Espèces_off End Sub Private Sub btn_Avoir_MouseHover(sender As Object, e As EventArgs) btn_Avoir.Image = My.Resources.Avoir_on End Sub Private Sub btn_Avoir_MouseLeave(sender As Object, e As EventArgs) btn_Avoir.Image = My.Resources.Avoir_off End Sub Private Sub Usr_Ticket_Client_Load(sender As Object, e As EventArgs) Handles MyBase.Load Lbl_Date_Ticket.Text = DateTime.Today.ToLongDateString End Sub Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click Lbl_Ticket_Ligne_1.Text = lbl_Ticket_Ligne End Sub
Pourriez-vous m'éclairer sur la manière de remplir dynamiquement mes labels dans mon UC2 quand je clique sur un bouton de l'UC1?
Merci beaucoup pour votre aide.
Cordialement.
Partager