OVH Cloud OVH Cloud

Espace

3 réponses
Avatar
JPG
Bonjour,

J'ai mis ce code sur l'événement "Touche relâchée" d'une zone de texte :

Requery
Screen.PreviousControl.SetFocus
On Error Resume Next
ActiveControl.SelStart = Len(Me.ActiveControl.Value)

L'idée est de rafraîchir les données du formulaire à chaque caractère tapé
et de revenir à la fin du texte saisi. Et ça marche !!!

... sauf quand je tape un espace.

Est-ce que le requery ne permets pas d'avoir un espace à la fin ?

Merci beaucoup pour votre aide.

3 réponses

Avatar
Raymond [mvp]
Bonjour.

je ne discuterai pas sur les performances d'une telle procédure qui me
parait un peut lourde et je ne vois pas l'utilité de rafraîchir le
formulaire entier à chaque frappe de caractère. j'ai connu une opératrice de
saisie qui frappait à 10-15 caractères secondes, tu vois le travail ?

donc, il faut tenir compte que lorsque access passe sur l'évènement update
du contrôle ( entre le beforeupdate et le afterupdate) tous les
TrailingSpaces (espaces de la fin) sont supprimés. dans ton cas, l'update
étant exécuté à chaque touche, tous les espaces de la fin sont supprimés.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais osé le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"JPG" a écrit dans le message de news:

| Bonjour,
|
| J'ai mis ce code sur l'événement "Touche relâchée" d'une zone de texte :
|
| Requery
| Screen.PreviousControl.SetFocus
| On Error Resume Next
| ActiveControl.SelStart = Len(Me.ActiveControl.Value)
|
| L'idée est de rafraîchir les données du formulaire à chaque caractère tapé
| et de revenir à la fin du texte saisi. Et ça marche !!!
|
| ... sauf quand je tape un espace.
|
| Est-ce que le requery ne permets pas d'avoir un espace à la fin ?
|
| Merci beaucoup pour votre aide.
Avatar
JPG
L'idée n'est pas de saisir du texte rapidement.

C'est un moteur de recherche qui sélectionne dans une liste tous les
enregistrements qui comportent la chaîne de caractère saisie n'importe où
dans le champ. Et dans cette chaîne, j'ai besoin des espaces.

exemple : SAINT DENIS.

Je saurai maintenant que tous les update me virent les espaces.
Et je saurai aussi que tu es revenu sur le forum et ça c'est une bonne
nouvelle.

Merci et @ +





Bonjour.

je ne discuterai pas sur les performances d'une telle procédure qui me
parait un peut lourde et je ne vois pas l'utilité de rafraîchir le
formulaire entier à chaque frappe de caractère. j'ai connu une opératrice de
saisie qui frappait à 10-15 caractères secondes, tu vois le travail ?

donc, il faut tenir compte que lorsque access passe sur l'évènement update
du contrôle ( entre le beforeupdate et le afterupdate) tous les
TrailingSpaces (espaces de la fin) sont supprimés. dans ton cas, l'update
étant exécuté à chaque touche, tous les espaces de la fin sont supprimés.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais osé le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"JPG" a écrit dans le message de news:

| Bonjour,
|
| J'ai mis ce code sur l'événement "Touche relâchée" d'une zone de texte :
|
| Requery
| Screen.PreviousControl.SetFocus
| On Error Resume Next
| ActiveControl.SelStart = Len(Me.ActiveControl.Value)
|
| L'idée est de rafraîchir les données du formulaire à chaque caractère tapé
| et de revenir à la fin du texte saisi. Et ça marche !!!
|
| ... sauf quand je tape un espace.
|
| Est-ce que le requery ne permets pas d'avoir un espace à la fin ?
|
| Merci beaucoup pour votre aide.





Avatar
Raymond [mvp]
tu peux très bien tester la valeur de la touche enfoncée et ne pas exécuter
les fonctions si c'est un espace. dans ce cas tes espaces seront conservés.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Découvrez le Jargonaute, le langage IT, tel que vous n'avez jamais osé le
parler:
http://www.microsoft.com/france/communautes/jargonaute/


"JPG" a écrit dans le message de news:

| L'idée n'est pas de saisir du texte rapidement.
|
| C'est un moteur de recherche qui sélectionne dans une liste tous les
| enregistrements qui comportent la chaîne de caractère saisie n'importe où
| dans le champ. Et dans cette chaîne, j'ai besoin des espaces.
|
| exemple : SAINT DENIS.
|
| Je saurai maintenant que tous les update me virent les espaces.
| Et je saurai aussi que tu es revenu sur le forum et ça c'est une bonne
| nouvelle.
|
| Merci et @ +