Link to home
Start Free TrialLog in
Avatar of sharringtoncpa
sharringtoncpaFlag for United States of America

asked on

How do I remove a carriage return from a text field.

The field contains characters that I think are carriage returns.  The character looks like a square.  I cannot do a Find and Replace.  I'm able to highlight and copy the character into notepad, but that's about all I am able to do with it.  I would like to determine what the character is for certain and I would like to be able to replace it with a space or some other punctuation.
Avatar of Mike Eghtebas
Mike Eghtebas
Flag of United States of America image

Select ID, Asc(Right(FieldInQuestion),1) From Table1

should give you the Ascii number of the last character.

To remove them:

CurrentDB.Execute "Update Table1 Set FieldInQuestion = left(FieldInQuestion,len(FieldInQuestion)-1)"

Mike
Avatar of sharringtoncpa

ASKER

I'm sorry, I should have stated my question more clearly.  The character is not the last character in the field.  There are several of these characters spread out throughout the data in the field.
Find Ascii number of each like

Select ID, Asc(Mid(FieldInQuestion),12,1) From Table1 Where ID =38

where the funny character is licated in position 12 for a certain record (with ID= 38). Now you have its ascii number, say it is 13, then:

CurrentDB.Execute "Update Table1 Set FieldInQuestion = Replace(FieldInQuestion, chr(13),"")"

Then fish for the next caracter you want get rid of.

Mike
Hi Mike, this solution looks to be exactly what I need, but could you provide more detail.  I have very little experience with VB or VBA.  Could you give me the steps I would need to take to use your code.  

I have also attached a small sample of the database referred to in my question.  The field with the character I'm looking to remove is "Attendee_List".  You could probably do it faster than you could explain it to me so that I would understand.

Thanks for your help with this issue.  I apologize in advance for my lack of knowledge in this area.
I ran the following query using sql view:
Select ID,  Asc(Mid(Attendee_List),48,1) From datatest Where ID =3
and I got an error message:  "Wrong number of arguments used with function in query expression"
Asc(Mid(Attendee_List),48,1)

change to

Asc(Mid(Attendee_List,48,1))
That worked better. It returned a value of 10 for the character I am looking to replace.  Now how do I run the code you provided.  Is it a macro or module or something else.

CurrentDB.Execute "Update datatest Set Attendee_List = Replace(Attendee_List, chr(10),"")"

Also, in this code it looks like chr 10 is going to be replaced with "".  If I wanted to replace it with something else like a semi-colon, do I have to use the chr value for semi-colon.

Thanks for your help.
CurrentDB.Execute "Update datatest Set Attendee_List = Replace(Attendee_List, chr(10),";")"

or maybe:

CurrentDB.Execute "Update datatest Set Attendee_List = Replace(Attendee_List, chr(10),"|")"


by the way, chr(10) is a Line_Feed character.  Chr(13) is a Carriage_Return character

and Chr(13)+Chr(10) is a Carriage_Return+Line_Feed (appears as two small squares one right next to the other) - A Windows NewLine
I checked a couple of characters and they are all chr 10 to replace the chr 10 line feed character with a semicolon.

How do I execute the line of code in access?

CurrentDB.Execute "Update datatest Set Attendee_List = Replace(Attendee_List, chr(10),";")"

ASKER CERTIFIED SOLUTION
Avatar of Mike Eghtebas
Mike Eghtebas
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi Mike,

Thanks for your help.  It worked perfectly.

Scott
Thanks for your help.  It worked great and it saved me a lot of time.
Glad to help.

Mike
The attached file charactertest2.mdb replaces the file I attached in comment #21747532.
charactertest2.mdb