Espace dans un champ texte indépendant

Le
StarFab
Bnsoir à tous,
J'ai une petite question rapide :
Je suis sous Access XP.
Dans Options>Clavier>Comportement du champ en entrée> j'ai coché "Fin du champ"

Maintenant j'ai un champ texte indépendant dans un formulaire.
Je tape "La " avec un espace à la fin.
Je sors du champ.
Je reviens dans le champ, le curseur ne tient pas compte de l'espace !!
Il se place juste après le "La|".

Comment faire pour que le curseur prennent effectivement en compte l'espace en fin de chaine ??

Merci à tous,
Bonne soirée,
Fabien
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #5369701
Bonsoir.

A ma connaissance, les espaces non significatifs en fin de champ sont
supprimés par Access.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"StarFab" news:
Bnsoir à tous,
J'ai une petite question rapide :
Je suis sous Access XP.
Dans Options>Clavier>Comportement du champ en entrée> j'ai coché "Fin du
champ"


Maintenant j'ai un champ texte indépendant dans un formulaire.
Je tape "La " avec un espace à la fin.
Je sors du champ.
Je reviens dans le champ, le curseur ne tient pas compte de l'espace !!
Il se place juste après le "La|".

Comment faire pour que le curseur prennent effectivement en compte
l'espace en fin de chaine ??


Merci à tous,
Bonne soirée,
Fabien




StarFab
Le #5369691
Pour le coup mon espace est effectivement significatif.
Je recherche un nom de famille comme MaRecherche*
"De *" n'est pas pareil que "De*" pour trouver des nobles hmmm ??!!
Donc si on me vire mon espace ça ne va pas du tout !!!

Merci si vous avez des idées,
Fabien

"Raymond [mvp]" news:%
Bonsoir.

A ma connaissance, les espaces non significatifs en fin de champ sont
supprimés par Access.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"StarFab" news:
Bnsoir à tous,
J'ai une petite question rapide :
Je suis sous Access XP.
Dans Options>Clavier>Comportement du champ en entrée> j'ai coché "Fin du
champ"


Maintenant j'ai un champ texte indépendant dans un formulaire.
Je tape "La " avec un espace à la fin.
Je sors du champ.
Je reviens dans le champ, le curseur ne tient pas compte de l'espace !!
Il se place juste après le "La|".

Comment faire pour que le curseur prennent effectivement en compte
l'espace en fin de chaine ??


Merci à tous,
Bonne soirée,
Fabien








Raymond [mvp]
Le #5369681
De ne peut pas être en fin de champ, donc l'espace est significatif et sera
toujours présent dans le champ et le problème ne se pose pas.
le problème ne peut pas se poser en général car aucun nom ne peut avoir des
espaces derrière.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"StarFab" news:
Pour le coup mon espace est effectivement significatif.
Je recherche un nom de famille comme MaRecherche*
"De *" n'est pas pareil que "De*" pour trouver des nobles hmmm ??!!
Donc si on me vire mon espace ça ne va pas du tout !!!

Merci si vous avez des idées,
Fabien


machin
Le #5369671
Bonjour,

Raymond [mvp] wrote:
| De ne peut pas être en fin de champ, donc l'espace est significatif
| et sera toujours présent dans le champ et le problème ne se pose pas.
| le problème ne peut pas se poser en général car aucun nom ne peut
| avoir des espaces derrière.


oui mais là, si j'ai bien compris, Starfab parle de saisir le critère "de "
avec un espace dans la zone de texte d'un formulaire
afin que la requête rajoute un * devant et derrière.

Test à faire :
un form
une zone de texte indépendante
un bouton avec événement

Private Sub Commande2_Click()
msgbox Len(Me.Texte0)
End Sub

comment obtenir 3 lorsqu'on a saisi "De "
a+
Raymond [mvp]
Le #5369661
A ce niveau là ce n'est pas génant, il suffit de saisir De * et la requête
qui est
comme champ & "*"
donnera
comme De * et *
ce qui donnera en final DE ** ce qui veut dire De * tout simplement.
pour se résumer, si le nom dans le champ doit se terminer par un espace,
mettre un espace suivi de *
tout ceci bien sûr si le test est bien Comme (like) sinon ça ne marchera
pas.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"machin" <incognito ;-)> a écrit dans le message de
news:
Bonjour,

Raymond [mvp] wrote:
| De ne peut pas être en fin de champ, donc l'espace est significatif
| et sera toujours présent dans le champ et le problème ne se pose pas.
| le problème ne peut pas se poser en général car aucun nom ne peut
| avoir des espaces derrière.


oui mais là, si j'ai bien compris, Starfab parle de saisir le critère "de
"

avec un espace dans la zone de texte d'un formulaire
afin que la requête rajoute un * devant et derrière.

Test à faire :
un form
une zone de texte indépendante
un bouton avec événement

Private Sub Commande2_Click()
msgbox Len(Me.Texte0)
End Sub

comment obtenir 3 lorsqu'on a saisi "De "
a+




StarFab
Le #5369621
Ma requete est effectivement - comme champ & "*" -
Ceci afin d'accélérer la saisie de l'utilisateur et lui simplifier la vie.
Mais mon utilisateur ne connait pas la signification de l'étoile, donc je ne vais pas maintenant lui
demander d'en rajouter une lorsqu'il y a un espace !
Par contre, quand il rentre et sort du champ de recherche, l'espace doit rester en fin de chaine.

Je suis obligé de m'aligner sur les besoins utilisateurs.
Merci !
Fabien


"Raymond [mvp]" news:
A ce niveau là ce n'est pas génant, il suffit de saisir De * et la requête
qui est
comme champ & "*"
donnera
comme De * et *
ce qui donnera en final DE ** ce qui veut dire De * tout simplement.
pour se résumer, si le nom dans le champ doit se terminer par un espace,
mettre un espace suivi de *
tout ceci bien sûr si le test est bien Comme (like) sinon ça ne marchera
pas.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"machin" <incognito ;-)> a écrit dans le message de
news:
Bonjour,

Raymond [mvp] wrote:
| De ne peut pas être en fin de champ, donc l'espace est significatif
| et sera toujours présent dans le champ et le problème ne se pose pas.
| le problème ne peut pas se poser en général car aucun nom ne peut
| avoir des espaces derrière.


oui mais là, si j'ai bien compris, Starfab parle de saisir le critère "de
"

avec un espace dans la zone de texte d'un formulaire
afin que la requête rajoute un * devant et derrière.

Test à faire :
un form
une zone de texte indépendante
un bouton avec événement

Private Sub Commande2_Click()
msgbox Len(Me.Texte0)
End Sub

comment obtenir 3 lorsqu'on a saisi "De "
a+








Raymond [mvp]
Le #5369611
je te soumets encore une ficelle mais je sens que tu vas la refuser.

Dim Cspace As Boolean

Private Sub Monchamp_AfterUpdate()
If Cspace Then Monchamp = Monchamp & " *"
End Sub

Private Sub Monchamp_Change()
Cspace = Right(Monchamp.Text, 1) = " "
End Sub

tu places ces deux fonctions en changeant Monchamp par le nom réel du
contrôle .

je n'ai plus d'idée maintenant. Il faut aussi que les exigences utilisateurs
soient le plus près possible de la logique et qu'ils arrêtent de pinailler
sur des détails insignifiants sinon tu vas nous péter une durit.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"StarFab" news:
Ma requete est effectivement - comme champ & "*" -
Ceci afin d'accélérer la saisie de l'utilisateur et lui simplifier la vie.
Mais mon utilisateur ne connait pas la signification de l'étoile, donc je
ne vais pas maintenant lui

demander d'en rajouter une lorsqu'il y a un espace !
Par contre, quand il rentre et sort du champ de recherche, l'espace doit
rester en fin de chaine.


Je suis obligé de m'aligner sur les besoins utilisateurs.
Merci !
Fabien


StarFab
Le #5369601
Bon ben merci pour le code.
En effet ca ne colle pas avec ce que je cherchais.
Je pensais qu'une option particulière du contrôle pouvait éviter de faire disparaitre les espaces...
Je vais voir ce que je peux faire.
Merci,
Fabien

"Raymond [mvp]" news:eavz$
je te soumets encore une ficelle mais je sens que tu vas la refuser.

Dim Cspace As Boolean

Private Sub Monchamp_AfterUpdate()
If Cspace Then Monchamp = Monchamp & " *"
End Sub

Private Sub Monchamp_Change()
Cspace = Right(Monchamp.Text, 1) = " "
End Sub

tu places ces deux fonctions en changeant Monchamp par le nom réel du
contrôle .

je n'ai plus d'idée maintenant. Il faut aussi que les exigences utilisateurs
soient le plus près possible de la logique et qu'ils arrêtent de pinailler
sur des détails insignifiants sinon tu vas nous péter une durit.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"StarFab" news:
Ma requete est effectivement - comme champ & "*" -
Ceci afin d'accélérer la saisie de l'utilisateur et lui simplifier la vie.
Mais mon utilisateur ne connait pas la signification de l'étoile, donc je
ne vais pas maintenant lui

demander d'en rajouter une lorsqu'il y a un espace !
Par contre, quand il rentre et sort du champ de recherche, l'espace doit
rester en fin de chaine.


Je suis obligé de m'aligner sur les besoins utilisateurs.
Merci !
Fabien






Eric
Le #5369581
Bonsoir StarFab

Autre solution ou l'étoile n'apparait pas !

Je serai prêt à proposer une procédure un peu plus longue:
Une zone de texte en entête du formulaire
Une procédure sur l'évènement KeyPress de la zone de texte (Touche
Activée) où on construit une chaine à partir des touches appuyées (mais
attention au Del, BackSpace ...)
et un filtre qui afficherait les données sur un formulaire qui aurait
pour source les champs de la requête sans critère. Un vidage de la chaine
une fois le filtre appliqué. C'est beaucoup plus long mais c'est
transparent pour l'utilisateur.
Faut aimer faire du code quoi !!!

Ca donnerait sans contrôle des touches (Del & BackSpace):

Option Compare Database
Dim chaine As String

Private Sub Texte0_Enter()
Me.FilterOn = False
chaine = ""
Texte0 = ""
End Sub

Private Sub Texte0_KeyPress(KeyAscii As Integer)
chaine = chaine & Chr(KeyAscii)
End Sub

Private Sub Commande2_Click()
Dim strsql As String
Me.Filter = "[Societe_client] like '" & chaine & "*'"
Me.FilterOn = True
End Sub


A toi d'adapter à tes champs.

A+
Eric

"StarFab" news::

Bon ben merci pour le code.
En effet ca ne colle pas avec ce que je cherchais.
Je pensais qu'une option particulière du contrôle pouvait éviter de
faire disparaitre les espaces... Je vais voir ce que je peux faire.
Merci,
Fabien

"Raymond [mvp]" de news:eavz$
je te soumets encore une ficelle mais je sens que tu vas la refuser.

Dim Cspace As Boolean

Private Sub Monchamp_AfterUpdate()
If Cspace Then Monchamp = Monchamp & " *"
End Sub

Private Sub Monchamp_Change()
Cspace = Right(Monchamp.Text, 1) = " "
End Sub

tu places ces deux fonctions en changeant Monchamp par le nom réel du
contrôle .

je n'ai plus d'idée maintenant. Il faut aussi que les exigences
utilisateurs soient le plus près possible de la logique et qu'ils
arrêtent de pinailler sur des détails insignifiants sinon tu vas nous
péter une durit. --
@+
Raymond Access MVP http://access.seneque.free.fr/
http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter
sur le forum


"StarFab" news:
Ma requete est effectivement - comme champ & "*" -
Ceci afin d'accélérer la saisie de l'utilisateur et lui simplifier
la vie. Mais mon utilisateur ne connait pas la signification de
l'étoile, donc je ne vais pas maintenant lui demander d'en rajouter
une lorsqu'il y a un espace ! Par contre, quand il rentre et sort
du champ de recherche, l'espace doit rester en fin de chaine.

Je suis obligé de m'aligner sur les besoins utilisateurs.
Merci !
Fabien










Publicité
Poster une réponse
Anonyme