Remplacer point par virgule sur access2003

tprs Messages postés 5 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 27 juin 2008 - 27 juin 2008 à 12:53
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 - 27 juin 2008 à 17:27
Bonjour,

J'ai un problème avec access, ce logiciel dont j'ignore beaucoup de choses ! (et le mot est faible).
Alors, je dois importer un fichier excel sur access.
Le problème est que mes montants sont avec un point au lieu d'une virgule.
Y a t il une requête pour tous les remplacer?

Merci de votre aide

6 réponses

sebtralalaetph Messages postés 111 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 2 avril 2010 1
27 juin 2008 à 13:27
Salut, tu peut faire un Control + H sur le champ à modifier si l'opération est exeptionelle.
Si tu dois le refaire plus souvent, il faudra passer par une requete.
0
tprs Messages postés 5 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 13:28
Justement l'opération n'est pas du tout exceptionelle.
Je dois faire une requête, mais je ne sais pas comment faire
0
sebtralalaetph Messages postés 111 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 2 avril 2010 1
27 juin 2008 à 13:53
Il te faut créer un module.
Dans ce module, tu colles ça:

Public Function Remplacer(ByVal Texte As String) As String
   Remplacer = Replace(Texte, ".", ",")
End Function

Ensuite tu crée une requete de mise à jour:

UPDATE  Ta_Table SET [Ta_Table].[Ton_Champ] = Remplacer([Ta_Table].[Ton_Champ]);

Voilà.
0
tprs Messages postés 5 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 14:09
Ca ne marche pas :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tprs Messages postés 5 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 14:22
Je ne dois pas savoir faire la requete correctement
0
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
27 juin 2008 à 17:27
Hello ,

ton importation est automatique (code VBA) ou manuelle depuis la barre de menu (fichier -> données externes)

Si manuelle : tu peux définir les options avancées et modifier les point par des virgules et vice et versa

Si auto :
passe la fonction suivante apres ton importation :

function hohoho()
dim sChaine as string
dim rs as recordset
dim n as interger
dim newValeur as variant
sChaine = "SELECT [ton champ a montant] FROM [ma table de données];"
  Set rs = CurrentDb.OpenRecordset(sChaine, dbOpenDynaset)
  With rs
    If .EOF Then msgbox "Pas de recordset dans ma table" : exit function
    Do Until .EOF
      .Edit
        For n = 1 To Len(![ton champ montant])
          If Mid(![ton champ montant], n, 1) = "." Then
            ![ton champ montant] = Left(![ton champ montant], n - 1) & "," & Right(strValeur, Len(![ton champ montant]) - n)
          End If
        Next
      .Update
      .MoveNext
    Loop

  End With
  Set rs = Nothing

end function

Bon courage pour la suite

***********  Si cette réponse vous convient, merci de valider ce post  ***********

ChaPaTa
0
Rejoignez-nous