Supprimer retour chariot dans un champs Acces
Résolu/Fermé
matrix2002
Messages postés
11
Date d'inscription
lundi 7 mai 2007
Statut
Membre
Dernière intervention
10 octobre 2007
-
11 mai 2007 à 12:55
Chris - 27 févr. 2009 à 17:21
Chris - 27 févr. 2009 à 17:21
A voir également:
- Supprimer retour chariot dans un champs Acces
- Comment supprimer une page dans word - Guide
- Supprimer compte instagram - Guide
- Impossible de supprimer un fichier - Guide
- Acces rapide - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
4 réponses
matrix2002
Messages postés
11
Date d'inscription
lundi 7 mai 2007
Statut
Membre
Dernière intervention
10 octobre 2007
14
24 mai 2007 à 17:40
24 mai 2007 à 17:40
J'ai chercher et trouver la solution que je publie ici :
On ouvre la base access 97 pour creer un nouveau module dans lequel on colle le code suivant :
Public Function ReplaceT(ByVal Expression As String, _
ByVal Find As String, _
ByVal Replace As String, _
Optional ByVal Start As Long = 1, _
Optional ByVal Count As Long = -1, _
Optional ByVal Compare As Integer = vbTextCompare) _
As String
Dim P As Long ' position 1er caractère à tester
Dim L As Long ' longueur de expression
Dim f As Long ' longueur de la chaîne à remplacer
Dim r As Long ' longueur chaîne de remplacement
' argument "Start" : élimination du début de chaîne
Let L = Len(Expression)
If Start > L Then
' parceque "Right$" n'accepte pas 1 taille négative
Let Expression = vbNullString
ElseIf Start > 1 Then
' troncature d'"Expression"
Let Expression = Right$(Expression, L - Start + 1)
End If
ReplaceT = Expression ' valeur retour par défaut
' argument "Find" : si chaîne vide, on retourne "Expression".
If Find = vbNullString Then Exit Function
Let f = Len(Find)
Let r = Len(Replace) ' Taille de la chaîne de remplacement
Let P = 1 ' on commence à la première position
If Count <> 0 Then
Do
' La taille d'"Expression" peut varier lors de chaque
' remplacement (si "Find" et "Replace" sont de longueurs
' différentes), c'est pourquoi l'instruction suivante
' est située DANS la boucle.
Let L = Len(Expression)
' position de la sous-chaîne à remplacer...
Let P = InStr(P, Expression, Find, Compare)
' ... si elle y figure bien
If P > 0 Then
Let Expression = Left$(Expression, P - 1) + _
Replace + _
Right$(Expression, (L - P - f + 1))
' décalage 1er caractère à comparer (position trouvée
' + taille de la chaîne de remplacement)
Let P = P + r
' Un remplacement de moins à effectuer (si "Count">0)
' on continue indéfiniment si "Count" < 0
Let Count = Count - 1
End If
' Si le compteur atteint zéro (cas où on voulait un nombre
' défini de substitutions), où s'il n'y a plus de
' remplacements possibles, on sort.
Loop Until (P <= 0) Or (Count = 0)
End If
ReplaceT = Expression ' retour..
End Function
Une fois ce code collé, il suffit d'utiliser RemplaceT dans une requete de mise à jour par exemple :
UPDATE Table SET Table.description = ReplaceT([description],Chr(10),"<br>");
Il est important de l e faire pour les caractères chr(10) et chr(13)
Voila à bientot
On ouvre la base access 97 pour creer un nouveau module dans lequel on colle le code suivant :
Public Function ReplaceT(ByVal Expression As String, _
ByVal Find As String, _
ByVal Replace As String, _
Optional ByVal Start As Long = 1, _
Optional ByVal Count As Long = -1, _
Optional ByVal Compare As Integer = vbTextCompare) _
As String
Dim P As Long ' position 1er caractère à tester
Dim L As Long ' longueur de expression
Dim f As Long ' longueur de la chaîne à remplacer
Dim r As Long ' longueur chaîne de remplacement
' argument "Start" : élimination du début de chaîne
Let L = Len(Expression)
If Start > L Then
' parceque "Right$" n'accepte pas 1 taille négative
Let Expression = vbNullString
ElseIf Start > 1 Then
' troncature d'"Expression"
Let Expression = Right$(Expression, L - Start + 1)
End If
ReplaceT = Expression ' valeur retour par défaut
' argument "Find" : si chaîne vide, on retourne "Expression".
If Find = vbNullString Then Exit Function
Let f = Len(Find)
Let r = Len(Replace) ' Taille de la chaîne de remplacement
Let P = 1 ' on commence à la première position
If Count <> 0 Then
Do
' La taille d'"Expression" peut varier lors de chaque
' remplacement (si "Find" et "Replace" sont de longueurs
' différentes), c'est pourquoi l'instruction suivante
' est située DANS la boucle.
Let L = Len(Expression)
' position de la sous-chaîne à remplacer...
Let P = InStr(P, Expression, Find, Compare)
' ... si elle y figure bien
If P > 0 Then
Let Expression = Left$(Expression, P - 1) + _
Replace + _
Right$(Expression, (L - P - f + 1))
' décalage 1er caractère à comparer (position trouvée
' + taille de la chaîne de remplacement)
Let P = P + r
' Un remplacement de moins à effectuer (si "Count">0)
' on continue indéfiniment si "Count" < 0
Let Count = Count - 1
End If
' Si le compteur atteint zéro (cas où on voulait un nombre
' défini de substitutions), où s'il n'y a plus de
' remplacements possibles, on sort.
Loop Until (P <= 0) Or (Count = 0)
End If
ReplaceT = Expression ' retour..
End Function
Une fois ce code collé, il suffit d'utiliser RemplaceT dans une requete de mise à jour par exemple :
UPDATE Table SET Table.description = ReplaceT([description],Chr(10),"<br>");
Il est important de l e faire pour les caractères chr(10) et chr(13)
Voila à bientot
UsulArrakis
Messages postés
7405
Date d'inscription
vendredi 28 mars 2003
Statut
Contributeur
Dernière intervention
27 janvier 2022
3 187
11 mai 2007 à 13:14
11 mai 2007 à 13:14
salut
pas le temps de tester mais normalement ça devrait marcher :
ouvrir ta table / sélectionner ta colonne / menu Edition / Remplacer :
mettre ^p dans le 1er champ
et ce que tu veux dans le 2ème champ (si tu veux un espace : tu appuies une fois sur la barre espace)
pas le temps de tester mais normalement ça devrait marcher :
ouvrir ta table / sélectionner ta colonne / menu Edition / Remplacer :
mettre ^p dans le 1er champ
et ce que tu veux dans le 2ème champ (si tu veux un espace : tu appuies une fois sur la barre espace)