Quick filter in datasheet is missing

丶灬走出姿态 提交于 2020-01-01 10:14:16

问题


I have a subform in datasheet view mode and it has missing the filter option that generally appear with checkboxes.

Missing

By qick filter and checkboxes for filter I mean this:

Can somebody tell me how can I get that back?


回答1:


Today I stumbled upon a possible answer for you. Try this option:

Menu FileOptions...Filter lookup options for <your DB name> Database

Change the option Don't display lists when more than this number of records is read: from 1000 (the default) to some larger number suiting your needs.

  1. Go to "Options"
  2. Find "Current Database"
  3. Scroll down until you find "Filter Lookup options for {.... your file name...}. It will show the list, and it doesn't allow you to do any filter if your data entry over 1,000. You just select ODBC fields and set the entry as you wish, for example, 2,000.

That's all.




回答2:


I do believe that this is caused by a large amount of non-repeating entries. In other words, it happens because you have many entries which don't benefit from a checkbox filter. They leave the "Text Filters >" so you can search, but leave out the checkboxes because it would simply be too long of a list. I don't know of a way to change this behaviour as it's built into Access as a non-customizable.

Bottom line: Too many options for the checkbox dialogue, no way to change it.




回答3:


None of the answers above are correct if you are looking to solve the question initially listed. After having toyed with this issue in my own database, I found Access no longer appears to support cross-referenced queries with linking fields (e.g. Using a drop-down list with a common name [text] that links to a field within a main table using numbers to reduce the record/database size). I found by adjusting the size of the index field from 0 to .0202 it would allow the filter mechanism to work again, but automatically lists the numbers in the field instead of the common names associated. It appears the only way to fix this issue is to change your relational linkage from numeric to text and use the common name as the actual entry (Monumentally erroneous change in my opinion). Hopefully they will fix it. In the meantime I will look for a better answer. If I find one, I'll post it here. -DFoxII




回答4:


The form's data source query had a filter parameter set which was causing recursive filtering. When I remove that filter ( as it was of no use) it worked well. It was like a logical error which created that issue.




回答5:


The listed answers didn't solve my specific issue. I too was not getting the filter lists to appear on subforms.

After much banging my head, I found out that my main form had "Allow Filters" set to No. Even though the subforms all had Allow Filters turned on, it appeared they inherited the main form's setting.




回答6:


The datatype on the column looks to be number in which case it doesn't have text filters at all. Notice your options for filtering are "Number filter" instead of "Text filter"




回答7:


I solved a similar problem -- quick filters not available in datasheet part of a split form in Access 2013. The form property setting for Shortcut Menu had been set to No. I changed it to Yes and, voila, the quick filters became available.




回答8:


Simply change your data type to short text and it will work.




回答9:


Make sure you don't use "NO" as a field name. I had field called NO and it caused the filter to dissapear. It seems to be undocumented "feature" of MS access.




回答10:


Here, I find the result. First, I want to thank this answer, he gives me the spark.

"The form's data source query had a filter parameter set which was causing recursive filtering. When I remove that filter ( as it was of no use) it worked well. It was like a logical error which created that issue."

I use two code to show the solution, actually it's caused by Access's own reason.

Code1:

Me.RecordSource = "SELECT * FROM CAPData ORDER BY [DAILY_CLIENT],[CLIENT_NAME],[ASSET_NAME]"

In this case, sometimes it will cause no auto filter.

Code2:

Me.RecordSource = "SELECT * FROM CAPData Where Not IsNull(ID) ORDER BY [DAILY_CLIENT],[CLIENT_NAME],[ASSET_NAME]"

In this way, problem fixed.

Reason: Access will set auto filter when you add some condition in the recordsource SQL. if you haven't set that, when the record is larger than some number, the auto filter won't appear. But when you add a where condition in the recordsource SQL, you can find auto filter back. Have tested under 20000+ records.

第一次写回答,好激动。




回答11:


I had the same problem and after tried different ways (including the ones mentioned here), and I think I finally got it to work.

First, make sure you change the option as Brad said on his answer. I have a combo box with two columns, ID and CustomerName. In the beginning, the row source for this combo box is: SELECT ID AS CustomerID, CustomerName FROM tblCustomers ORDER BY CustomerName; The checkbox for the filter did not show.

I found that there are two problems with this query for the combo box row source:

  1. You can't use alias for the ID column.
  2. You can't do sorting on the second column (the CustomerName here).

So after I change the query to: SELECT ID, CustomerName FROM tblCustomers; The checkbox came back! (you can do sorting on the first column though)




回答12:


I have found that if the record source for the form is an SQL statement including a sort clause the quick filters do not appear.

Solutions: either remove the sort clause (not that helpful if you want the data sorted) or save the SQL statement including the sort as a query, then change the record source of the form to the saved query. Voila Quick filters are then available.

Regards Peter.



来源:https://stackoverflow.com/questions/12049583/quick-filter-in-datasheet-is-missing

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!