[vb.net] probléme d'itération d'un traitement

cs_yassineee Messages postés 90 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juin 2010 - 7 juin 2005 à 12:50
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008 - 7 juin 2005 à 17:46
salut, quand j'entre une valeur dans un text box et je clique sur entré il execute un traitement mais je dois a chaque fois recompiler mon projet si je veux effectuer cette opération plusieur fois


Code:
,
----

Private Sub txt2_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt2.KeyDown

If e.KeyCode = 13 Then
traitement
end if
end sub

j'aimerai effectuer plusieur fois cette opération(enté une valeur+entré puis l'effacer et entré une nouvelle+entré) sans recompiler mon projet

7 réponses

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
7 juin 2005 à 13:02
salut,
Sans doute faudrait il que tu parametres ta fonction de traitement autrement

d'ailleur est ce que le mot traitement est un appel d'une procedure ou function ou est ce le traitement en lui meme. trop peu d'info pour résoudre le probleme ou aider. Donnes ton traitement réalisé.Dans cas, ton traitement est réaliser quand tu appuis sur la touche "entrée" a chaque fois, pas besoin de recompiler pour ca, ton problème vient d'autre part.

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
cs_yassineee Messages postés 90 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juin 2010 1
7 juin 2005 à 13:12
ok c'est juste que le traitement est un peut grand mais je vais le poster:
il marche sans probléme


Private
Sub txt2_KeyDown(
ByVal sender
As System.Object,
ByVal e
As System.Windows.Forms.KeyEventArgs)
Handles txt2.KeyDown



Dim i, x, y, j, k, c, l, w
As
Integer



Dim tr
As
Integer



If e.KeyCode = 13
Then



Try


con.Open()
'-- test----



'---------Authentification agent-------------------------------



Dim id_a
As
New SqlCommand("SELECT num_badge_a,pernr_a,nom_prenom,type_agent FROM dbo.T_BADGE where pernr_a='" + txt2.Text + "'", con)



Dim rs_id_a
As SqlDataReader = id_a.ExecuteReader()


rs_id_a.Read()



If rs_id_a.HasRows =
True
Then



If rs_id_a.GetString(3) = "q"
Then


MsgBox("Agent partie")



Else


txt1.Text = rs_id_a.GetString(0)


txt2.Text = rs_id_a.GetString(1)


txt3.Text = rs_id_a.GetString(2)



End
If


rs_id_a.Close()



'--------fin agent------------



Else


rs_id_a.Close()



Dim id_s
As
New SqlCommand("SELECT num_badge_s, pernr_s, nom_prenom FROM dbo.T_STAGIAIRE where pernr_s='" + txt2.Text + "'", con)



Dim rs_id_s
As SqlDataReader = id_s.ExecuteReader()


rs_id_s.Read()



If rs_id_s.HasRows =
False
Then


MsgBox("Ce Matricule n'existe pas")



End



End
If


MsgBox("matricule stagiare")


g5.Visible =
False


txt1.Text = rs_id_s.GetString(0)


txt2.Text = rs_id_s.GetString(1)


txt3.Text = rs_id_s.GetString(2)


rs_id_s.Close()



End
If





Dim groupe_p
As New SqlCommand("SELECT DISTINCT TOP 100 PERCENT dbo.T_MENU.cd_menu FROM dbo.T_COMPOSER INNER JOIN dbo.T_MENU ON dbo.T_COMPOSER.cd_menu dbo.T_MENU.cd_menu INNER JOIN dbo.T_PRODUIT ON dbo.T_COMPOSER.cd_produit dbo.T_PRODUIT.cd_produit ORDER BY dbo.T_MENU.cd_menu ", con)



Dim rs_groupe_p
As SqlDataReader = groupe_p.ExecuteReader()


j = 0



While rs_groupe_p.Read


tab(4, j) = Int(rs_groupe_p.GetString(0))


j = j + 1



End
While


dim_menu = j


rs_groupe_p.Close()


k = 0


i = 0



While i <= dim_menu - 1


gro_p.Text = tab(4, i)



Dim groupe_prod
As New SqlCommand("SELECT count(*) FROM dbo.T_COMPOSER INNER JOIN dbo.T_MENU ON dbo.T_COMPOSER.cd_menu dbo.T_MENU.cd_menu INNER JOIN dbo.T_PRODUIT ON dbo.T_COMPOSER.cd_produit dbo.T_PRODUIT.cd_produit WHERE (dbo.T_MENU.cd_menu = '" + gro_p.Text + "')", con)



Dim rs_groupe_prod
As
Integer = groupe_prod.ExecuteScalar


indice(k) = Val(rs_groupe_prod)


i = i + 1


k = k + 1



End
While



'-------------------------------------


i = 0


x = 61


c = 0


l = 0


k = 0



Dim produit
As New SqlCommand(" SELECT TOP 100 PERCENT dbo.T_PRODUIT.designation FROM dbo.T_COMPOSER INNER JOIN dbo.T_MENU ON dbo.T_COMPOSER.cd_menu dbo.T_MENU.cd_menu INNER JOIN dbo.T_PRODUIT ON dbo.T_COMPOSER.cd_produit dbo.T_PRODUIT.cd_produit ORDER BY dbo.T_MENU.cd_menu ", con)



Dim rs_produit
As SqlDataReader = produit.ExecuteReader()


rs_produit.Read()



While i < dim_menu


j = 1


y = 445



While j <= Val(indice(k))


check2(l, c) =
New System.Windows.Forms.CheckBox


check2(l, c).Text = rs_produit.GetString(0)


rs_produit.Read()


check2(l, c).Location =
New Point(x, y)


Controls.Add(check2(l, c))


j = j + 1


y = y + 20


c = c + 1



End
While


l = l + 1


k = k + 1


x = x + 210


c = 0


i = i + 1



End
While


rs_produit.Close()



'-------------------------------------------------------------------



Dim nbr_menu
As
New SqlCommand("SELECT count(*) FROM T_MENU", con)



Dim rs_nbr_menu
As
Integer = nbr_menu.ExecuteScalar



Dim menu_1
As
New SqlCommand(" SELECT menu FROM T_MENU ", con)



Dim rs_menu_1
As SqlDataReader = menu_1.ExecuteReader()


rs_menu_1.Read()


i = 1


x = 56



While i <= rs_nbr_menu


check1(i) =
New System.Windows.Forms.CheckBox


check1(i).Text = rs_menu_1.GetString(0)


groupe(i) =
New System.Windows.Forms.GroupBox


check1(i).Location =
New Point(x, 400)


groupe(i).Location =
New Point(x, 432)


groupe(i).Size =
New System.Drawing.Size(176, 288)


Controls.Add(check1(i))


Controls.Add(groupe(i))


x = x + 208


i = i + 1


rs_menu_1.Read()



End
While


rs_menu_1.Close()



Catch ex
As Exception


MsgBox("erreur")



End
Try



End
If



End
Sub
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
7 juin 2005 à 13:21
tu click ou tu appuis sur la touche "entré", quel est la difference entre les 2 ? fais tu appelle a 2 choses differentes sur ces cas la ?

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
cs_yassineee Messages postés 90 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juin 2010 1
7 juin 2005 à 13:30
j'appuis sur entré
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
7 juin 2005 à 13:46
En gros si je comprend bien il plante, ce qui veut dire qu'il ne passe pas le "try".

de ce que j'ai pu voir, le "con" est public, si tu "l'open", il doit se fermer, j'imaginerais bien qu'il plante des le départ avec cette commande, essais de le "close" a la fin, sinon j'imagine que tu ne pourras plus l'ouvrir si il est déjà ouvert.

et si tu veux réellement voir ou il plante, vire le try - end try, mais ce n'estp as l'appui sur la touche entrée qui plante, c'est ton code interne.

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
cs_yassineee Messages postés 90 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juin 2010 1
7 juin 2005 à 15:40
je ne pense pas que le probléme est dans mon traitement


car je l'ai débeguer et il ya pas de probléme dans les lignes c'est juste que j'ai besoin d'un while pour executer le code a chaque fois quand appuie sur entré mais le probléme c'est que je ne sais pas la condition de while normalement en langage humain je veus dire


faire le traitement si l'utilisateur appuis sur entré

while ??????
if appuis sur entré
(traitement)
0
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
7 juin 2005 à 17:46
vire le try et tu veras d'ou ca vient.

Bonne prog, [mailto:liquide_vaisselle_76@hotmail.fr liquide_vaisselle_76@hotmail.fr]
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals , moi le 1er&n
0
Rejoignez-nous