OVH Cloud OVH Cloud

Enlever les 0

3 réponses
Avatar
Didier
Bonjour

J'ai plusieurs chiffres et pour un export sous xls je=20
souhaite enlever les 0 =E0 la fin de chaque chiffre dans=20
une requ=EAte donc en SQL
Ex: 601000 devient 601
mais 120000 devient 12 et 445680 devient 44568


merci de votre aide

3 réponses

Avatar
seon
tu as donc le champ "champ1" et tu fais
replace([champ1],0,"") en mode sql
replace([champ1];0;"") en mode assistant de requete
Avatar
Raymond [mvp]
Bonjour.

en requête ou en vba, il faut utiliser une fonction public ( ne pas utiliser
replace) et tu passes la valeur:
fonction à placer dans un module standard:
Public Function remplace0(Optional Valeur As Double = 0) As double
If Valeur <> 0 Then
Dim X As Double
X = Valeur
Do Until Right(X, 1) <> 0
X = X / 10
DoEvents
Loop
remplace0 = X
Else
remplace0 = 0
End If
End Function

appel en vba:
Private Sub Commande0_Click()
MsgBox remplace0(6000000100)
End Sub
Appel en requête:
Résultat: remplace0([NoCompte])

le doevents est obligatoire en cas de plantage pour stopper par ctrl+pause.
tu peux remplacer les double par Long selon les valeurs maxi.

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


"Didier" a écrit dans le message de
news: 114c01c53113$fd445260$
Bonjour

J'ai plusieurs chiffres et pour un export sous xls je
souhaite enlever les 0 à la fin de chaque chiffre dans
une requête donc en SQL
Ex: 601000 devient 601
mais 120000 devient 12 et 445680 devient 44568


merci de votre aide
Avatar
didier
Bonjour

Tu as devinné que c'était des N° de compte
Je suis obliger de passer par une requête car c'est pour
faire un export vers EBP (il ne veut pas des 0 à la fin
des N° de compte)
-----Message d'origine-----
Bonjour.

en requête ou en vba, il faut utiliser une fonction
public ( ne pas utiliser

replace) et tu passes la valeur:
fonction à placer dans un module standard:
Public Function remplace0(Optional Valeur As Double = 0)
As double

If Valeur <> 0 Then
Dim X As Double
X = Valeur
Do Until Right(X, 1) <> 0
X = X / 10
DoEvents
Loop
remplace0 = X
Else
remplace0 = 0
End If
End Function

appel en vba:
Private Sub Commande0_Click()
MsgBox remplace0(6000000100)
End Sub
Appel en requête:
Résultat: remplace0([NoCompte])

le doevents est obligatoire en cas de plantage pour
stopper par ctrl+pause.

tu peux remplacer les double par Long selon les valeurs
maxi.


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


"Didier" a écrit
dans le message de

news: 114c01c53113$fd445260$
Bonjour

J'ai plusieurs chiffres et pour un export sous xls je
souhaite enlever les 0 à la fin de chaque chiffre dans
une requête donc en SQL
Ex: 601000 devient 601
mais 120000 devient 12 et 445680 devient 44568


merci de votre aide


.