OVH Cloud OVH Cloud

Enlever des espaces...

14 réponses
Avatar
pipo
Bonjour!
Quelqu'un saurait-il comment enlever automatiquement tout=20
espace et tabulation dans un champ (de type m=E9mo) sur=20
Access 97?
MERCI!
Pipo

10 réponses

1 2
Avatar
www.eztree-msdn.com \( Laurent Jordi \)
Salut,

Essaye de faire

replace(replace(monChamp," ",""),vbTab,"")

@+
LJ
www.eztree-msdn.com


"pipo" a écrit dans le message de
news:1973901c41ca7$d9a5bb90$
Bonjour!
Quelqu'un saurait-il comment enlever automatiquement tout
espace et tabulation dans un champ (de type mémo) sur
Access 97?
MERCI!
Pipo
Avatar
J'ai essayé de mettre ceci dans mon champ (qui
s'appelle "Protein sequence"), sous forme de code, mais ça
ne marche pas. voilà ce que j'ai...

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)
replace(replace((Protein sequence)," ",""),vbTab,"")

End Sub

Aurais-tu une autre suggestion?
Merci!


-----Message d'origine-----
Salut,

Essaye de faire

replace(replace(monChamp," ",""),vbTab,"")

@+
LJ
www.eztree-msdn.com


"pipo" a écrit dans le
message de

news:1973901c41ca7$d9a5bb90$
Bonjour!
Quelqu'un saurait-il comment enlever automatiquement tout
espace et tabulation dans un champ (de type mémo) sur
Access 97?
MERCI!
Pipo


.



Avatar
pipo
Salut!
J'ai ajouté ce que tu m'as proposé dans mon champ "Protein
sequence", mais ça ne marche pas. Voici comment ça se
présente sur l'écran:

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)
replace(replace((Protein sequence)," ",""),vbTab,"")

End Sub

Le programme bloque dès la première ligne. Aurais-tu une
suggestion?
MERCI!


-----Message d'origine-----
Salut,

Essaye de faire

replace(replace(monChamp," ",""),vbTab,"")

@+
LJ
www.eztree-msdn.com


"pipo" a écrit dans le
message de

news:1973901c41ca7$d9a5bb90$
Bonjour!
Quelqu'un saurait-il comment enlever automatiquement tout
espace et tabulation dans un champ (de type mémo) sur
Access 97?
MERCI!
Pipo


.



Avatar
Pierre CFI [mvp]
bonjour
mettre le nom du champ entre crochet [ ] et à l'avenir evites de mettre des espaces dans les noms de champs, çà évite les crochets

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
a écrit dans le message de news:1972f01c41cab$6513d380$
J'ai essayé de mettre ceci dans mon champ (qui
s'appelle "Protein sequence"), sous forme de code, mais ça
ne marche pas. voilà ce que j'ai...

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)
replace(replace((Protein sequence)," ",""),vbTab,"")

End Sub

Aurais-tu une autre suggestion?
Merci!


-----Message d'origine-----
Salut,

Essaye de faire

replace(replace(monChamp," ",""),vbTab,"")

@+
LJ
www.eztree-msdn.com


"pipo" a écrit dans le
message de

news:1973901c41ca7$d9a5bb90$
Bonjour!
Quelqu'un saurait-il comment enlever automatiquement tout
espace et tabulation dans un champ (de type mémo) sur
Access 97?
MERCI!
Pipo


.



Avatar
3stone
Salut,

"pipo"
[..]
Le programme bloque dès la première ligne.


Replace n'existe pas sous Access97...

Utilise une fonction de remplacement:


Function ReplaceStr(TextIn, SearchStr, Replacement, CompMode As Integer)

Dim WorkText As String, Pointer As Integer
If IsNull(TextIn) Then
ReplaceStr = Null
Else
WorkText = TextIn
Pointer = InStr(1, WorkText, SearchStr, CompMode)
Do While Pointer > 0
WorkText = Left(WorkText, Pointer - 1) _
& Replacement & Mid(WorkText, _
Pointer + Len(SearchStr))
Pointer = InStr(Pointer + Len(Replacement), WorkText, SearchStr, CompMode)
Loop
ReplaceStr = WorkText
End If

End Function



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Avatar
Raymond [mvp]
Bonjour.

La fonction replace n'est pas supportée par access 97 mais seulement à
partir de la version 2000. il faut que tu places une fonction public
personnelle que tu appelleras replace ou remplacer par exemple:

Function Replace(Chaine, AncienTexte, NouveauTexte) As String
Dim StringTmp As String, Pointer As Integer
If IsNull(Chaine) Then
Remplacer = False
Else
StringTmp = Chaine
Pointer = InStr(1, StringTmp, AncienTexte)
Do While Pointer > 0
StringTmp = Left(StringTmp, Pointer - 1) & NouveauTexte & _
Mid(StringTmp, Pointer + Len(AncienTexte))
Pointer = InStr(Pointer + Len(NouveauTexte), StringTmp,
AncienTexte)
Loop
Remplacer = StringTmp
End If
End Function

et tu pourras l'utiliser pour remplacer ton texte. mais attention, si ton
application doit toutrner sur 2000 et + , il faudra supprimer cette fonction
car elle fera doublon avec le replace intégré d'access.
par ailleurs,
pourquoi beforeupdate et non afterupdate ?
nom de champ à indiquer entre guillemets.
à part ça , ça devrait faire .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pipo" a écrit dans le message de
news:1974001c41cac$85a6a4a0$
Salut!
J'ai ajouté ce que tu m'as proposé dans mon champ "Protein
sequence", mais ça ne marche pas. Voici comment ça se
présente sur l'écran:

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)
replace(replace((Protein sequence)," ",""),vbTab,"")

End Sub

Le programme bloque dès la première ligne. Aurais-tu une
suggestion?
MERCI!
Avatar
Daniel Carollo
Bonjour Pipo!

La suggestion de Pierre est a mettre ne oeuvre dans une requete. Si vous
voulez absolument l'utiliser dans une procedure, il faut tout d'abord creer
un recordset sur lequel travailler.

J'espere que ca vous aide a demarrer...

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"pipo" wrote in message
news:1974001c41cac$85a6a4a0$
Salut!
J'ai ajouté ce que tu m'as proposé dans mon champ "Protein
sequence", mais ça ne marche pas. Voici comment ça se
présente sur l'écran:

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)
replace(replace((Protein sequence)," ",""),vbTab,"")

End Sub

Le programme bloque dès la première ligne. Aurais-tu une
suggestion?
MERCI!
Avatar
www.eztree-msdn.com \( Laurent Jordi \)
Oups... désolé pour l'erreur de versionning...

C'est ça être vieux... :(

@+
LJ

www.eztree-msdn.com

"pipo" a écrit dans le message de
news:1974001c41cac$85a6a4a0$
Salut!
J'ai ajouté ce que tu m'as proposé dans mon champ "Protein
sequence", mais ça ne marche pas. Voici comment ça se
présente sur l'écran:

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)
replace(replace((Protein sequence)," ",""),vbTab,"")

End Sub

Le programme bloque dès la première ligne. Aurais-tu une
suggestion?
MERCI!


-----Message d'origine-----
Salut,

Essaye de faire

replace(replace(monChamp," ",""),vbTab,"")

@+
LJ
www.eztree-msdn.com


"pipo" a écrit dans le
message de

news:1973901c41ca7$d9a5bb90$
Bonjour!
Quelqu'un saurait-il comment enlever automatiquement tout
espace et tabulation dans un champ (de type mémo) sur
Access 97?
MERCI!
Pipo


.



Avatar
pipo
Cher Raymond,
je crois que je suis vraiment un tout petit débutant...
je t'explique ce que j'ai fait jusqu'à présent:
dans mon formulaire, je clique sur mon champ (qui
s'appelle maintenant "Protseq"), puis sur générateur de
code. Ensuite, je copie ta fonction. Tout va bien.
Maintenant, je veux l'utiliser dans ma Sub, et le
programme m'écrit d'office ceci:

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)

End Sub

Comment, à partir de là, rappeler ma fonction dans la Sub
et l'applique à mon champ "protseq"?

pourquoi Access m'impose-t-il ce "before update" et
ce "Cancel as integer"?
pourrais-tu me guider point par point?

Excuse-moi de te prendre tout ce temps, et merci encore
pour ton aide.
Pipo
-----Message d'origine-----
Bonjour.

La fonction replace n'est pas supportée par access 97
mais seulement à

partir de la version 2000. il faut que tu places une
fonction public

personnelle que tu appelleras replace ou remplacer par
exemple:


Function Replace(Chaine, AncienTexte, NouveauTexte) As
String

Dim StringTmp As String, Pointer As Integer
If IsNull(Chaine) Then
Remplacer = False
Else
StringTmp = Chaine
Pointer = InStr(1, StringTmp, AncienTexte)
Do While Pointer > 0
StringTmp = Left(StringTmp, Pointer - 1) &
NouveauTexte & _

Mid(StringTmp, Pointer + Len(AncienTexte))
Pointer = InStr(Pointer + Len(NouveauTexte),
StringTmp,

AncienTexte)
Loop
Remplacer = StringTmp
End If
End Function

et tu pourras l'utiliser pour remplacer ton texte. mais
attention, si ton

application doit toutrner sur 2000 et + , il faudra
supprimer cette fonction

car elle fera doublon avec le replace intégré d'access.
par ailleurs,
pourquoi beforeupdate et non afterupdate ?
nom de champ à indiquer entre guillemets.
à part ça , ça devrait faire .
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pipo" a écrit dans le
message de

news:1974001c41cac$85a6a4a0$
Salut!
J'ai ajouté ce que tu m'as proposé dans mon champ "Protein
sequence", mais ça ne marche pas. Voici comment ça se
présente sur l'écran:

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)
replace(replace((Protein sequence)," ",""),vbTab,"")

End Sub

Le programme bloque dès la première ligne. Aurais-tu une
suggestion?
MERCI!



.



Avatar
Raymond [mvp]
Normalement c'est en afterupdate mais comme les deux lignes sont ensemble tu
as du cliquer sur before.
pas grave, tu supprimes et tu cliques sur la ligne after (après maj).

Private Sub Protseq_AfterUpdate()
Me.Protseq = Replace("Protseq", " ", "")
Me.Protseq = Replace("Protseq", VbTab, "")
End Sub

(si vbtab ne fonctionne pas, par hasard, tu le remplaces par Chr(8))
pour ma fonction, pour pouvoir l'utiliser de partout, places la dans un
formulaire standard.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pipo" a écrit dans le message de
news:1981201c41cb7$4f978720$
Cher Raymond,
je crois que je suis vraiment un tout petit débutant...
je t'explique ce que j'ai fait jusqu'à présent:
dans mon formulaire, je clique sur mon champ (qui
s'appelle maintenant "Protseq"), puis sur générateur de
code. Ensuite, je copie ta fonction. Tout va bien.
Maintenant, je veux l'utiliser dans ma Sub, et le
programme m'écrit d'office ceci:

Private Sub Protein_sequence_BeforeUpdate(Cancel As
Integer)

End Sub

Comment, à partir de là, rappeler ma fonction dans la Sub
et l'applique à mon champ "protseq"?

pourquoi Access m'impose-t-il ce "before update" et
ce "Cancel as integer"?
pourrais-tu me guider point par point?

Excuse-moi de te prendre tout ce temps, et merci encore
pour ton aide.
Pipo
1 2