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
tu as donc le champ "champ1" et tu fais replace([champ1],0,"") en mode sql replace([champ1];0;"") en mode assistant de requete
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
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" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 114c01c53113$fd445260$a401280a@phx.gbl...
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
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
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
.
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" <anonymous@discussions.microsoft.com> a écrit
dans le message de
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
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