From: shm135 on 14 May 2010 09:14 Hi, I have a form called Test. On this form, I have a textbox where I can type query criteria. I would like to be able to type multiple criteria into this textbox and use this textbox to filter my query results. For example, on my Test form textbox, I'd like to be able to type ("Alaska" OR "Alabama") and would like to then filter my query based on what I type into this textbox. Currently, when I type one thing into the textbox "Alaska," the query properly filters to all results that equal "Alaska." However, when I type another piece of critiera "AND Alabama" or "OR Alabama", the query returns no results. How can I accomplish this? Thanks
From: ghetto_banjo on 14 May 2010 09:41 Well, I don't think it will work by directly passing that textbox value to the query. The query ends up searching for the actual string of "Alaska OR Alabama", which of course returns no results.. You could use some VB code to parse the string and manually generate your WHERE clause of the SQL statement. Using the InStr() funciton, you could search for strings such as " OR " and " AND ", and determine from there how to build out the WHERE clause of the SQL. It's not the simplest thing to code, but it's certainly possible. If you want to try this route, we can assist with how the code will look. Or you might be able to just use multiple text boxes on your form.
From: Jerry Whittle on 14 May 2010 10:14 If it's something pretty static, like all the US States and Territories, you could save that data into a table then base a multi-select list box on it. Then it's just a matter of clicking on all the state names. As a bonus, you don't have to worry about misspelling things like Conneticut. ;-) -- Jerry Whittle, Microsoft Access MVP Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder. "shm135" wrote: > Hi, > > I have a form called Test. On this form, I have a textbox where I can > type query criteria. I would like to be able to type multiple criteria > into this textbox and use this textbox to filter my query results. > > For example, on my Test form textbox, I'd like to be able to type > ("Alaska" OR "Alabama") and would like to then filter my query based > on what I type into this textbox. > > Currently, when I type one thing into the textbox "Alaska," the query > properly filters to all results that equal "Alaska." However, when I > type another piece of critiera "AND Alabama" or "OR Alabama", the > query returns no results. > > How can I accomplish this? > > Thanks > . >
From: Tom van Stiphout on 14 May 2010 10:11 On Fri, 14 May 2010 06:14:37 -0700 (PDT), shm135 <shmoussa(a)gmail.com> wrote: I'm guessing you have a query: select * from myTable where StateName = Forms!myForm!myTextbox You later use this query as the recordsource for some form or report. The reason your current solution does not work is because there is no StateName with a value of Alaska OR Alabama, regardless of how you put the doublequotes. The solution is to use an IN clause: select * from myTable where StateName in ('Alaska', 'Alabama') (note that I use single-quotes; will come in handy below) I have noticed in the past that this does not work in a query: select * from myTable where StateName in (Forms!myForm!myTextbox) The workaround is to forget about the query and assign the concatenated string to the recordsource property directly: private sub form_open if isnull(Forms!myForm!myTextbox) then msgbox "Yo! Gimme some state(s)" else me.recordsource = "select * from myTable where StateName in (" & Forms!myForm!myTextbox & ")" end sub Now if you put 'Alaska', 'Alabama' in the textbox it should work. -Tom. Microsoft Access MVP >Hi, > >I have a form called Test. On this form, I have a textbox where I can >type query criteria. I would like to be able to type multiple criteria >into this textbox and use this textbox to filter my query results. > >For example, on my Test form textbox, I'd like to be able to type >("Alaska" OR "Alabama") and would like to then filter my query based >on what I type into this textbox. > >Currently, when I type one thing into the textbox "Alaska," the query >properly filters to all results that equal "Alaska." However, when I >type another piece of critiera "AND Alabama" or "OR Alabama", the >query returns no results. > >How can I accomplish this? > >Thanks
From: KARL DEWEY on 14 May 2010 11:03 Another way, not the best, is to enter items separated by a space like this -- Alaska Alabama Texas Use criteria -- Like "*" & [Enter item(s) for search] & "*" It has drawbacks in that if you enter Bill it will pull Bill, Billboard, and Billards. -- Build a little, test a little. "shm135" wrote: > Hi, > > I have a form called Test. On this form, I have a textbox where I can > type query criteria. I would like to be able to type multiple criteria > into this textbox and use this textbox to filter my query results. > > For example, on my Test form textbox, I'd like to be able to type > ("Alaska" OR "Alabama") and would like to then filter my query based > on what I type into this textbox. > > Currently, when I type one thing into the textbox "Alaska," the query > properly filters to all results that equal "Alaska." However, when I > type another piece of critiera "AND Alabama" or "OR Alabama", the > query returns no results. > > How can I accomplish this? > > Thanks > . >
|
Next
|
Last
Pages: 1 2 Prev: SQL subsets Next: What does this query error message mean: Cannot open database ". |