Comment éliminer les caractères spéciaux d'une table de descriptions, (Ex:
retour de chariot) par requête, sans avoir à sélectionner le caractère et
faire un Find and replace. Ce dernier ne traite qu'environ 16000 a 19000
lignes à la fois alors que mes tables contiennent plus de 500,000
enregistrements.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bourdugephilippe
a ma connaissance ce n'est pas possible au travers d'une requête, mais on peut contourner le problème en faisant une boucle et en travaillant sur chaque enregistrement et en traitant par une fonction le texte d'un champs. le principe est de déclarer une variabe recordset dim rs as recordset
rs=currentdb.openrecordset ("ma table")
rs.move first do until rs.EOF rs.edit rs.[mon_champs]=ma_fonction(rs![mon_champs]) rs.update rs.movenext loop
private function ma_fonction(byval chaine as string)
la il faut écrire le traitement de ta chaine de caractère
end function
si tu as du mal tu peux toujours me donner le nom de ta table, le nom du champs et les caractères spéciaux que tu souhaites remplacer et par quoi tu veux les remplacer. Je tenterai de t'aider.
a ma connaissance ce n'est pas possible au travers d'une requête, mais on peut
contourner le problème en faisant une boucle et en travaillant sur chaque
enregistrement et en traitant par une fonction le texte d'un champs.
le principe est de déclarer une variabe recordset
dim rs as recordset
rs=currentdb.openrecordset ("ma table")
rs.move first
do until rs.EOF
rs.edit
rs.[mon_champs]=ma_fonction(rs![mon_champs])
rs.update
rs.movenext
loop
private function ma_fonction(byval chaine as string)
la il faut écrire le traitement de ta chaine de caractère
end function
si tu as du mal tu peux toujours me donner le nom de ta table, le nom du champs
et les caractères spéciaux que tu souhaites remplacer et par quoi tu veux les
remplacer. Je tenterai de t'aider.
a ma connaissance ce n'est pas possible au travers d'une requête, mais on peut contourner le problème en faisant une boucle et en travaillant sur chaque enregistrement et en traitant par une fonction le texte d'un champs. le principe est de déclarer une variabe recordset dim rs as recordset
rs=currentdb.openrecordset ("ma table")
rs.move first do until rs.EOF rs.edit rs.[mon_champs]=ma_fonction(rs![mon_champs]) rs.update rs.movenext loop
private function ma_fonction(byval chaine as string)
la il faut écrire le traitement de ta chaine de caractère
end function
si tu as du mal tu peux toujours me donner le nom de ta table, le nom du champs et les caractères spéciaux que tu souhaites remplacer et par quoi tu veux les remplacer. Je tenterai de t'aider.
Eric
Bonjour Claire,
Avec une requête Mise à jour, ca ne passe pas ? Exemple pour enlever le caractère de retour à la ligne dans un champ Description :
UPDATE Table1 SET Table1.Description = Replace([Description],Chr(13)+Chr (10)," "). On remplace ici le retour à la ligne par un espace.
SQL que tu peux coller directement dans la fenêtre SQL du concepteur de requête en adaptant les noms de la table et du champ.
A+ Eric
"SOS" écrivait news:qIhsd.36130$:
Bonjour
Comment éliminer les caractères spéciaux d'une table de descriptions, (Ex: retour de chariot) par requête, sans avoir à sélectionner le caractère et faire un Find and replace. Ce dernier ne traite qu'environ 16000 a 19000 lignes à la fois alors que mes tables contiennent plus de 500,000 enregistrements.
Merci à l'avance
-- Claire
Bonjour Claire,
Avec une requête Mise à jour, ca ne passe pas ?
Exemple pour enlever le caractère de retour à la ligne dans un champ
Description :
UPDATE Table1 SET Table1.Description = Replace([Description],Chr(13)+Chr
(10)," "). On remplace ici le retour à la ligne par un espace.
SQL que tu peux coller directement dans la fenêtre SQL du concepteur de
requête en adaptant les noms de la table et du champ.
Comment éliminer les caractères spéciaux d'une table de descriptions,
(Ex: retour de chariot) par requête, sans avoir à sélectionner le
caractère et faire un Find and replace. Ce dernier ne traite
qu'environ 16000 a 19000 lignes à la fois alors que mes tables
contiennent plus de 500,000 enregistrements.
Avec une requête Mise à jour, ca ne passe pas ? Exemple pour enlever le caractère de retour à la ligne dans un champ Description :
UPDATE Table1 SET Table1.Description = Replace([Description],Chr(13)+Chr (10)," "). On remplace ici le retour à la ligne par un espace.
SQL que tu peux coller directement dans la fenêtre SQL du concepteur de requête en adaptant les noms de la table et du champ.
A+ Eric
"SOS" écrivait news:qIhsd.36130$:
Bonjour
Comment éliminer les caractères spéciaux d'une table de descriptions, (Ex: retour de chariot) par requête, sans avoir à sélectionner le caractère et faire un Find and replace. Ce dernier ne traite qu'environ 16000 a 19000 lignes à la fois alors que mes tables contiennent plus de 500,000 enregistrements.
Merci à l'avance
-- Claire
Antoine Labusquière
Tu peux faire une fonction pour ça: Après, il te suffit de l'appeler dans une requête sélection (ça permet de supprimer ces caractères à l'affichage, sans pour autant modifier les données), ou alors dans une requête mise à jour, pour épurer toutes tes données.
le vbcrlf est une constante pour le retour chariot.
Function Epurer_Texte(chaine As String) As String
Epurer_Texte = Replace(chaine, vbCrLf, ";")
End Function
"SOS" a écrit dans le message de news:qIhsd.36130$
Bonjour
Comment éliminer les caractères spéciaux d'une table de descriptions, (Ex: retour de chariot) par requête, sans avoir à sélectionner le caractère et faire un Find and replace. Ce dernier ne traite qu'environ 16000 a 19000 lignes à la fois alors que mes tables contiennent plus de 500,000 enregistrements.
Merci à l'avance
-- Claire
Tu peux faire une fonction pour ça:
Après, il te suffit de l'appeler dans une requête sélection (ça permet de
supprimer ces caractères à l'affichage, sans pour autant modifier les
données), ou alors dans une requête mise à jour, pour épurer toutes tes
données.
le vbcrlf est une constante pour le retour chariot.
Function Epurer_Texte(chaine As String) As String
Epurer_Texte = Replace(chaine, vbCrLf, ";")
End Function
"SOS" <clairem@mediom.qc.ca> a écrit dans le message de
news:qIhsd.36130$kI6.1724491@news20.bellglobal.com...
Bonjour
Comment éliminer les caractères spéciaux d'une table de descriptions, (Ex:
retour de chariot) par requête, sans avoir à sélectionner le caractère et
faire un Find and replace. Ce dernier ne traite qu'environ 16000 a 19000
lignes à la fois alors que mes tables contiennent plus de 500,000
enregistrements.
Tu peux faire une fonction pour ça: Après, il te suffit de l'appeler dans une requête sélection (ça permet de supprimer ces caractères à l'affichage, sans pour autant modifier les données), ou alors dans une requête mise à jour, pour épurer toutes tes données.
le vbcrlf est une constante pour le retour chariot.
Function Epurer_Texte(chaine As String) As String
Epurer_Texte = Replace(chaine, vbCrLf, ";")
End Function
"SOS" a écrit dans le message de news:qIhsd.36130$
Bonjour
Comment éliminer les caractères spéciaux d'une table de descriptions, (Ex: retour de chariot) par requête, sans avoir à sélectionner le caractère et faire un Find and replace. Ce dernier ne traite qu'environ 16000 a 19000 lignes à la fois alors que mes tables contiennent plus de 500,000 enregistrements.