Bonjour,
J'ai un formulaire nommé ACLoginForm et sur ce dernier, j'ai 42 boutons de Empl1 à Empl42, je peux changer facilement le premier bouton, par contre,
je voudrais que chaque bouton reçoivent le champ "Username" de ma requête.
J'avais créé des champs pour le prénom et le nom et cela faisait 84 textbox alors je les ai supprimés car c'est sur la caption des boutons que je veux voir le nom complet
Voici ce que j'ai présentement:
Note: Il y a 42 employés au maximum sur ce champ, le champ ou ces derniers sont créés se nomme EmployeeNumber si par exemple l'employé n° 10 quitte son emploi, je voudrais que le bouton Empl10 soit invisible, dans ma requête il y a un champ nommé ACTIVE de type bit, donc si c'est false, il ne sera pas dans la requête suivante:
Lorsque j'exécute mon programme mon formulaire ACLoginForm montre cette erreur:
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 Private sub GetButtonCaption() Dim SQLCon As New SqlConnection With {.ConnectionString = "Server=CLAUDE-PC\AUTOCAISSESQL;database=ACData;User=programmeur;Pwd=mANONbENOIT1954;"} Dim SQLcmd As SqlCommand Dim READER As SqlDataReader Dim ctlName As String Dim matches() As Control Try SQLCon.Open() Dim Query As String Query = "SELECT EmployeeNumber, FirstName, LastName, Username, Active FROM EmployeesQuery WHERE Active =1" SQLcmd = New SqlCommand(Query, SQLCon) READER = SQLcmd.ExecuteReader ' Pour charger chaque boutons dans le tableau des boutons ' Pour changer tous les textes des boutons en Bouton n° xx For B As Integer = 1 To 42 ctlName = "Empl" & B matches = Me.Controls.Find(ctlName, True) If matches.Length > 0 AndAlso TypeOf matches(0) Is Button Then Dim btn As Button = DirectCast(matches(0), Button) btn.Text = READER.Item(3) End If Next SQLCon.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally SQLCon.Dispose() End try End sub![]()
Partager