Using "replace" in update query

  • Thread starter Thread starter Susan
  • Start date Start date
S

Susan

I have a series of update queries that use:
Replace([YourFiled]," ","+")
in the "Update To" row to replace spaces with plus signs,
etc. They work fine on one workstation, but from another
I get an error message that says:
"Undefined function 'Replace' in expression"

Both run WindowsXP, Office2000 SR-3 and appear to be set
up exactly the same. In searching KB I found one article
that suggested in the VB Editor under Tools--References
to check "Microsoft DAO 3.6 Object Library", this didn't
work (and it is not checked on the machine that works).

Any ideas??
Thanks!!
 
ACCESS 2000 version doesn't always work with Replace function in query. We
think it depends upon the version of Jet engine that you have; the original
A2K as shipped wouldn't let Replace work in queries.

Check the Microsoft web site to be sure that you have the current upgrades
for Jet on both machines.

It also could be a missing reference (not necessarily the DAO library that
you mention). From info posted By Douglas
Steele, MVP:

Two common reasons.

The first is that you've used Date somewhere else in your database: a field
in a table, a control on a form, or something like that. Date is a reserved
word, and should never be used in anything you created in the database.

The other possibility is that your references are messed up.

This can be caused by differences in either the location or file version of
certain files between the machine where the application was developed, and
where it's being run (or the file missing completely from the target
machine). Such differences are common when new software is installed.

On the machine(s) where it's not working, open any code module (or open the
Debug Window, using Ctrl-G, provided you haven't selected the "keep debug
window on top" option). Select Tools | References from the menu bar. Examine
all of the selected references.

If any of the selected references have "MISSING:" in front of them, unselect
them, and back out of the dialog. If you really need the reference(s) you
just unselected (you can tell by doing a Compile All Modules), go back in
and reselect them.

If none have "MISSING:", select an additional reference at random, back out
of the dialog, then go back in and unselect the reference you just added. If
that doesn't solve the problem, try to unselect as many of the selected
references as you can (Access may not let you unselect them all), back out
of the dialog, then go back in and reselect the references you just
unselected. (NOTE: write down what the references are before you delete
them, because they'll be in a different order when you go back in)

For far more than you could ever want to know about this problem, check out
http://members.rogers.com/douglas.j.steele/AccessReferenceErrors.html


--
Ken Snell
<MS ACCESS MVP>


Susan said:
I have a series of update queries that use:
Replace([YourFiled]," ","+")
in the "Update To" row to replace spaces with plus signs,
etc. They work fine on one workstation, but from another
I get an error message that says:
"Undefined function 'Replace' in expression"

Both run WindowsXP, Office2000 SR-3 and appear to be set
up exactly the same. In searching KB I found one article
that suggested in the VB Editor under Tools--References
to check "Microsoft DAO 3.6 Object Library", this didn't
work (and it is not checked on the machine that works).

Any ideas??
Thanks!!
 
Not sure whether this bug was actually fixed in one of the Service Packs /
Service Releases or not but you can write a simple "wrapper" function (UDF)
and your UDF should work fine. Something like:

***Untested***
Public Function ReplaceWrapper(strExpression As String, _
strFind As String, strReplace As String) As String
ReplaceWrapper = Replace(strExpression, _
strFind, strReplace)
End Function
***

The ReplaceWrapper() function should work line in Query / JET.

See Access VB Help on Replace() for other arguments if required.
 
Back
Top