Modules & VBA :: Find And Replace Special Characters
Dec 18, 2013
I have a table called: "tb_special_characters" with a field name [character]. In this table are values that I would like to remove from fields in another table ("tb_data", field name [Title]
The values in the "tb_special_characters" are thinks like
.
@
}
I'd like to run a query on tb_data.title that would replace any matching characters in tb_special_characters.character with nothing (I remove and close any spaces).
We have a spreadsheet that i upload onto a table, i use on of the fields to build a file path but if there is a special character it causes problems,i need to replace the below with spaces if they are in my field called path
I have a Memo field that is used to be a description of a document. I don't know what the user will put in (could be anything), but it is eventually passed in a string to a query, etc.I discovered during testing that if an apostrophe is entered (Ex: This document explains how to deal with Joe's pleasant disposition.), it breaks my code. I then realized that all reserved words and characters would cause this problem.
I can get around this one just by using Replace(str, "'", "''"). However, I know there are others that will cause problems, and I don't want to end up with a string of replace statements just to fix them.
I have an asset database I am designing to manage our computer inventory and assets.
I am trying to get a DLookup to work with one of my forms that will auto-populate some of the fields depending on what is entered in to the ProductID field. For instance, Make, Model, Asset type...
My problem is that the string that returns contains special characters, specifically "#" and gives me the error message -
Run-time error '3075': Syntax error in date in query expression 'productID=EN371UA#ABA'.
My expression is definitely working, it just looks like it things it has something to do with date/time which it does not. Unfortunately, most HP equipment contains a # in the Product ID number.
Here is my expression -
Private Sub ProductIDCombo_AfterUpdate() Make = DLookup("Make", "productlist", "productID=" & [ProductIDCombo]) End Sub
Make is the field I am looking up from the ProductList table. The Product ID is the ID I'm looking up from the ProductList table to find the make. My problem is actually getting it to return the correct value of "HP or Dell or Lenovo". etc.
I'm working on an eBay uploader access program for Ebay's File Manager
Our description contains line feeds and carriage returns. I have very little knowledge of Vba, and I can t find any tutorials on how to replace the characters with spaces on how to program this.
The table is called tblCustomer The field is called *Description
Code: INSERT INTO TB_SISTEMAS ( LOGIN, SISTEMA, PERFIL, DATA ) SELECT Left([dbo_BACKUP_ACESSOS.LOGIN],255) AS LOGIN, dbo_BACKUP_ACESSOS.SISTEMA, Left([dbo_BACKUP_ACESSOS.PERFIL],255) AS PERFIL, dbo_BACKUP_ACESSOS.DATA FROM dbo_BACKUP_ACESSOS WHERE (((dbo_BACKUP_ACESSOS.SISTEMA)<>"ACTIVE DIRECTORY") AND ((dbo_BACKUP_ACESSOS.DATA)="2014-03-23"));
But Iwant to be able to use a set of data to be used in the Replace Statement, so I create a table to add each string I would like to have replaced by "nothing", and trying to make the replace query to look there in order to find what to replace.I also created a table where I will list the systems that I dont want in the select, so I removed the "ACTIVE DIRECTORY" and replaced by the colum that have the list of system I dont want listed.This is the result:
Code: INSERT INTO TB_SISTEMAS ( LOGIN, SISTEMA, PERFIL, DATA ) SELECT Replace((Left([dbo_BACKUP_ACESSOS.LOGIN],255)),[PREFIXOS_E_SUFIXOS]![Valor],"") AS LOGIN, dbo_BACKUP_ACESSOS.SISTEMA, Left([dbo_BACKUP_ACESSOS.PERFIL],255) AS PERFIL, dbo_BACKUP_ACESSOS.DATA FROM dbo_BACKUP_ACESSOS WHERE (((dbo_BACKUP_ACESSOS.SISTEMA)<>[SISTEMAS_EXCLUIDOS]![Sistema]) AND ((dbo_BACKUP_ACESSOS.DATA)="2014-03-23"));
The thin is that this keeps asking me to enter the parameter value for "PREFIXOS_E_SUFIXOS!Valor" and for "SISTEMAS_EXCLUIDOS!Sistema"
I have a question regarding special characters that access doesn't like to see.
When passing a string to be absolved via html, if I set myHtmlBody = "<font color="#000FF"></font> it will throw a syntax error because of the # character.
I faced a dilemma over the weekend in that I needed to preview and then print the ascii character 219 (A black block) on a report. It overlayed a paper calendar form that we use to print temporary access passes for where I work. The black blocks would indicate the days for the pass. Unfortunately, using Chr(219) did not work - so I searched the forums here and had a bit of luck, but still the solution remained elusive. Finally (and I should have done this first :)) I went to Help in access and found the answer.
To view or print any special character go to the start button on the computer, then navigate to programs, then accessories, then tools, then character map. Once there, choose whatever character you want and write down the Unicode number that applies. In my case, 2588. Convert that to decimal (Because it is in Hex) to 9608 and use an SQL statement Yourfield = ChrW(9608) to view or print it. The W is added to let the program know that this is a Unicode character and not ascii.
I read a lot of ingenious solutions in the forum, but this one seems to be the most straight forward.
My search has been unsuccessful due to the search function refusing to play nicely with me and the fact that it's mixing up the problems with using special characters with field names, which isn't what I want.
My problem is I have comboboxes that looks up people's name and has a NotInLIst event to allow addition of new person. It uses split function and concentating query to keep data normalized while displaying the full name.
Access trips over, very hard, whenever there is a name that uses special character, which for obvious reasons, causes confusion. Example:
Mike O'Leary Thomas O'Calloway Janet Smith-Johnson Mary-Ann Johnson
Can anyone point me to a snippet I could use to trap for those names and help Access deal with it accordingly?
I want my to detect special characters in my descriptions that are not found on keyboard and display as error. Tried using the following
Description check: IIf([Common Description] Is Null Or [Common Description] Not Like "*[!a-z0-9@=.^_$%!#&'`(){|}*?~[]/-]*" And [Description Local] Is Null Or [Description Local] Not Like "*[!a-z0-9@=.^_$%!#&'`(){|}*?~[]/-]*","<<Error Desc>>","OK")
but when i tested it using some data, it shows all as <<Error Desc>>
some of the special characters i want to check for are βuΩ etc.
So if my description contains characters that are not: a-z OR 0-9 or any of the following ~!@#$%^&*()_+=-`][';/.,<>?:"{}|~
In my database there is one value that requires the use of a /. (This is not as a name of anything...just a value stored in one of the fields.) I have a form which functions beautifully in all other regards, but it produces an error about syntax of the subquery in the expression if I try to use this value as a criteria for a search/filter (screen shot of error message attached).
I've tried using double quotes and square brackets around the / and a in front of it to no avail. I don't have the option of changing the value...it is defined by this multi-billion dollar project. Again, this is just a piece of data in a field in a record which also needs to be a criteria in some searches/filters.
I'm trying to export either a report or a query to excel with a field name that has special characters "()". I wouldn't normally ever do this (everyone knows not to use special characters) but we're using this to import the excel document to a website, and the field name MUST be what they specified in order for the import to be successful. Is there any way to rename the field name at export, since I can't use special characters on the query or report itself?
The field name is currently DepType, but it must be " *Dependent Type Spouse/Partner or Child/Dependent (Required for Dependents only) " EXACTLY or it will not import.
I am trying to query on a field for any that contain special characters. How can I accomplish this? I do not know what special characters could be in this field, so I would want to query for ANY special character.
My database has several tables (and queries) that have fields that contain people's names. Some names, like O'Neil, contain apostrophes. Other fields contain couple names, like Tom & Laura Jones. Both the ' and the & prevent queries, forms, and reports from working correctly.
Hello, I have an unbound form where the user enters feedback, usually > 255 chars. When they hit the "Submit" button, an append query adds this to a memo field on a table. A memo field should be able to hold 65,000 some characters however everything after 255 turns into a special character, mostly boxes. Any ideas on how to retain the text?
I thought I had solved my initial problem of removing the apostrophe character for each zip code field. Most of the fields have data that reads '12345-1234'. I want to remove each (') character and the "-1234" so I end up with a zipcode of 12345.
I created 2 queries for this process. I first run a query with the following statement "Left([ZIP],Len([ZIP])-6)". That gets rid of the "-1234' ".
The I run the second query with this statement "Right([ZIP],Len([ZIP])-6)".
These 2 queries work perfectly if the original zipcode is " '12345-1234' ", but if it is " '12345' ", the entire zipcode is deleted.
I have attached 3 (.jpg)'s to show you what I am talking about.
I'm familiar with writing a replace query to replace characters or strings but what I'm trying to do this time is a bit unique to me. I have a string of numbers that will either be 8 or 9 digits in length. The first 1 or 2 digits will be the State code (1-50 hence the discrepancy in number of total digits), then a 2 digit agency code, then the last 5 digits are a producer code. What I need to do is change the 2 digits for the agency part both to 0. So basically characters 6 and 7 if you're counting from the right. To me it feels like I'm trying to do it backwards so I'm having a hard time writing it.