Filter Question

  • Thread starter Thread starter hotplate
  • Start date Start date
H

hotplate

I have a combo box with all the employee names. A name is selected
and a filter is applied to the form as follows:

DoCmd.ApplyFilter , "[employeename]='" & Me.Employee & "'"

The problem I am having are that 2 of the employees have a ' in their
name, like O'Conner.

This causes an error. Is there any way I can handle this?
 
hotplate said:
I have a combo box with all the employee names. A name is selected
and a filter is applied to the form as follows:

DoCmd.ApplyFilter , "[employeename]='" & Me.Employee & "'"

The problem I am having are that 2 of the employees have a ' in their
name, like O'Conner.

This causes an error. Is there any way I can handle this?


Assuming no employee will have a double-quote (") in his name, you can write
it like this:

DoCmd.ApplyFilter , "[employeename]=""" & Me.Employee & """"

Note: before the ampersand on the left of Me.Employee, you have three "
characters in a row, and after the ampersand on the right, you have four "
characters in a row. That could also be written, somewhat easier to read,
using the Chr() function to get the double-quote character into the string:

DoCmd.ApplyFilter , _
"[employeename]=" & Chr(34) & Me.Employee & Chr(34)

Take your pick.
 
That worked! Thanks


I have a combo box with all the employee names.  A name is selected
and a filter is applied to the form as follows:
DoCmd.ApplyFilter , "[employeename]='" & Me.Employee & "'"
The problem I am having are that 2 of the employees have a ' in their
name, like O'Conner.
This causes an error.  Is there any way I can handle this?

Assuming no employee will have a double-quote (") in his name, you can write
it like this:

    DoCmd.ApplyFilter , "[employeename]=""" & Me.Employee & """"

Note:  before the ampersand on the left of Me.Employee, you have three "
characters in a row, and after the ampersand on the right, you have four "
characters in a row.  That could also be written, somewhat easier to read,
using the Chr() function to get the double-quote character into the string:

    DoCmd.ApplyFilter , _
        "[employeename]=" & Chr(34) & Me.Employee & Chr(34)

Take your pick.

--
Dirk Goldgar, MS Access MVP
Access tips:www.datagnostics.com/tips.html

(please reply to the newsgroup)
 
Back
Top