Problème de SetFocus [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 30-05-2002 à 17:54:46
Loom the Gloom a écrit a écrit : |
tu pourrais nous metrre le code en entier stp ?
Marsh Posté le 31-05-2002 à 08:25:31
macray a écrit a écrit : tu pourrais nous metrre le code en entier stp ? |
ben le code y'a rien de spécial...
par ex ::
txtNum.setFocus
rs!num = txtnum.Text
txtNom.setFocus
rs!nom= txtNom.text
et là par exemple, il plantera sur le 2e setfocus, ms pas sur le premier.
et si je l'enlève, il ralera aussi... ????
Marsh Posté le 31-05-2002 à 09:47:18
Loom the Gloom a écrit a écrit : ben le code y'a rien de spécial... par ex :: txtNum.setFocus rs!num = txtnum.Text txtNom.setFocus rs!nom= txtNom.text et là par exemple, il plantera sur le 2e setfocus, ms pas sur le premier. et si je l'enlève, il ralera aussi... ???? |
essaye d'enlever le caractéres "!", essaye sans, car je ne vois pas d'autre problème...je sais que dans le C, ca existe,mais dans VB je ne sais pas comment il le prend, c'est peut être du à ca...
Marsh Posté le 31-05-2002 à 09:53:26
macray a écrit a écrit : essaye d'enlever le caractéres "!", essaye sans, car je ne vois pas d'autre problème...je sais que dans le C, ca existe,mais dans VB je ne sais pas comment il le prend, c'est peut être du à ca... |
nan, je pense pas que ça vienne de la, le ! sert à désigner un champ du recordset, rs étant le recordset.
c au niveau du setfocus qu'il plante
ms disons que c pas la peine de te prendre la tete la dessus, j'ai trouvé une parade
ckil y a c ke quand le déboggueur se lance sur cette erreur, il suffit de faire F8 et il continue, sans tenir compte de l'erreur. Ca n'influe en rien sur le déroulement. Alors ce que j'ai fait, j'ai mis un on error resume next!!
merci qd meme
Marsh Posté le 31-05-2002 à 09:55:38
j'utilise jamais setfocus a cause de ce genre de pbs justement. Tips : avant d'appeler setfocus, essaye d'utiliser l'API SetForegroundWindow (pour la mettre en avant plan) et ensuite SetFocus, on sait jamais.
Marsh Posté le 31-05-2002 à 09:56:30
Loom the Gloom a écrit a écrit : nan, je pense pas que ça vienne de la, le ! sert à désigner un champ du recordset, rs étant le recordset. c au niveau du setfocus qu'il plante ms disons que c pas la peine de te prendre la tete la dessus, j'ai trouvé une parade ckil y a c ke quand le déboggueur se lance sur cette erreur, il suffit de faire F8 et il continue, sans tenir compte de l'erreur. Ca n'influe en rien sur le déroulement. Alors ce que j'ai fait, j'ai mis un on error resume next!! merci qd meme |
je suis d'accord, mais ce n'est pas non plus normal...essaye d'aller voir sur www.vbfrance.com, peut être qu'il ont une solution autre que On resume next...
Marsh Posté le 31-05-2002 à 10:02:41
KarLKoX a écrit a écrit : j'utilise jamais setfocus a cause de ce genre de pbs justement. Tips : avant d'appeler setfocus, essaye d'utiliser l'API SetForegroundWindow (pour la mettre en avant plan) et ensuite SetFocus, on sait jamais. |
oui, ms dans vba, il est obligatoire de faire un setfocus avant d'accéder à un controle, non ?
Marsh Posté le 31-05-2002 à 10:11:26
euh je sais pas, je fais du VB (chuuut, fo po que ca se sache
Marsh Posté le 31-05-2002 à 10:14:26
KarLKoX a écrit a écrit : euh je sais pas, je fais du VB (chuuut, fo po que ca se sache |
C++ powaaaaaaaaaaa
bon, j'me casse avant de pourrir un autre topic
Marsh Posté le 31-05-2002 à 15:23:56
Loom the Gloom a écrit a écrit : oui, ms dans vba, il est obligatoire de faire un setfocus avant d'accéder à un controle, non ? |
non tu n'es pas obligé
par exemple tu peux faire ça :
'affiche tous les résultats à la suite dans la textbox
For i = 0 To rs.RecordCount - 1
textbox=textbox & rs!num
Next
Marsh Posté le 31-05-2002 à 16:24:34
Harkonnen a écrit a écrit : C++ powaaaaaaaaaaa bon, j'me casse avant de pourrir un autre topic |
Merde, chui grillé !!!
Marsh Posté le 03-06-2002 à 09:23:49
Bolino a écrit a écrit : non tu n'es pas obligé par exemple tu peux faire ça : 'affiche tous les résultats à la suite dans la textbox For i = 0 To rs.RecordCount - 1 textbox=textbox & rs!num Next |
ah bon ?
pourtant, quand j'essaie de récupérer le texte dans une zone de texte, sans faire un setfocus, j'obtiens une erreur : impossible de blablabla...
Marsh Posté le 03-06-2002 à 16:03:16
Tiens, ça c'est bizarre. J'utilise souvent des trucs genres :
Me.textbox1 = rst1!FieldName1
Me.textbox2 = rst1!FieldName2
etc...
et aussi l'inverse
rst1!fieldname1 = me.textbox1
....
pour mes liaisons recordsets/forms
Marsh Posté le 03-06-2002 à 16:07:33
latruffe a écrit a écrit : Tiens, ça c'est bizarre. J'utilise souvent des trucs genres : Me.textbox1 = rst1!FieldName1 Me.textbox2 = rst1!FieldName2 etc... et aussi l'inverse rst1!fieldname1 = me.textbox1 .... pour mes liaisons recordsets/forms |
ah, mais dans ce cas la , ptet est ce le Me, qui change tout ??
Marsh Posté le 03-06-2002 à 18:20:01
Le Me renvoie simplement au form... (la procédure est liée au form).
Marsh Posté le 04-06-2002 à 09:36:41
et si tu mets forms("nomduform" ).txtnum = rst!fieldnum ?
(pas la peine de mettre .text. Au pire, tu mets .value mais tu peux l'ommettre).
Marsh Posté le 30-05-2002 à 14:27:16
nouveau problème, qui m'apparait relativement souvent
j'ai des zones de texte :
comme vous le savez, pour accéder à une zone de texte, il faut lactiver en faisant un setfocus
or parfois, comme ça, une fois sur trente, il me plante en me disant impossible d'activer le controle spécifié
si j'enlève le setfocus, il rale en me disant que le controle doit etre activé !!
que faire !!
[jfdsdjhfuetppo]--Message édité par Loom the Gloom le 31-05-2002 à 08:36:24--[/jfdsdjhfuetppo]
---------------
Music|Market|Feed|Loom|DVD