?
Solved

Using Filter and Order By when setting RecordSource as SQL

Posted on 2011-03-24
5
Medium Priority
?
764 Views
Last Modified: 2012-05-11
Maybe someone can confirm an issue with Access Forms. I have a form that allows a user to select an ingredient. Because there are so many ingredients, I allow the user to enter a phrase in a search field. Then, based on their entry, I display records that contain that phrase. I do this by setting the recordsource to:
  Me.RecordSource = "SELECT tblIngredients.* FROM tblIngredients WHERE Description Like '*" & Me.txtSearch & "*'"

However, first, lets look at the OnLoad event. In the OnLoad event I set the recordsource and order by options
  Me.RecordSource = "SELECT tblIngredients.* FROM tblIngredients"
  Me.OrderByOn = True
  Me.Order = [Description]
Access ignores my OrderBy statements.

If I delete the RecordSource statement and just set the source on the form to tblIngredients, The OrderBy statements work.
 
Thus my question is, will the OrderBy statements NOT WORK when setting RecordSource equal to a SQL statement?
I have the same issue when I try to use the Filter commands. I have a button that the user can click. When they do so, only records that have a field in the table (Components) clicked (set to True). If, with RecordSource statement in effect, I use the filter commands in the following format:
   me.filteron = true
   me.filter = "[Components] = True"
This does not work with record source either.
Am I doing something wrong or is this true with Access?
0
Comment
Question by:rodneygray
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 35208130

inter change the position  


   Me.Order = [Description]
   Me.OrderByOn = True
 
and this


   me.filter = "[Components] = True"
   me.filteron = true
0
 
LVL 1

Author Comment

by:rodneygray
ID: 35209845
capricorn1
The second recordsource statement is commented out. It shows how I got around the OrderBy problem. When I implement your fix, I get an error when the form comes up.
The dialog box states:
  Header: Enter parameter value
  Body: Salt (This is the first ingredient in the table)
  Then there is an unbounded box waiting for me to type something in.
  Buttons: OK and CANCEL

If I type in a value or enter a value and press the OK button, from appears with unsorted value. If I press the CANCEL button, I get another error dialog box that states.
  Runtime error 3709
  The search key was not found in any record and I can end or debug. If I debug the error is highlighted at Me.OrderByOn = True.
 
Private Sub Form_Load()
    Me.RecordSource = "SELECT tblIngredients.* FROM tblIngredients"
   
     'Me.RecordSource = "SELECT tblIngredients.* FROM tblIngredients ORDER BY Description"
    Me.OrderBy = [Description]
    Me.OrderByOn = True
   
End Sub
0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 2000 total points
ID: 35209928
change

Me.OrderBy = [Description]

with

Me.OrderBy = "[Description]"
0
 
LVL 1

Author Closing Comment

by:rodneygray
ID: 35210814
Capricorn1,
Thanks so much. I spent several hours on this just trying to figure out why it did not work. All because of two quotes! Do you feel that is the case with the filter also?
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 35210895
if [Components] is TEXT data type

me.filter = "[Components] = 'switch'"
   me.filteron = true


if [Components] is Number data type

me.filter = "[Components] = 1234"
   me.filteron = true
0

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question