Forum Discussion
Problem with combobox form controls
- Jan 03, 2024
A fix for this problem is in the works. See this AccessForever article.
George_HepworthThanks, but I believe that Access97 only uses ANSI-87 SQL anyway and cannot use ANSI-92 SQL, so this won't help me.
I remain puzzled how a Windows 11 change in 2022 has caused such a problem for Access 97?
Really hoping for a solution!...
Given that Access 97 is well past end of support, I'm not sure how much attention it would get.
- domoni42Jan 08, 2024Copper ContributorMy working theory is:
- the combo box problem was caused by a change introduced some little time ago to 'modern' versions of Office. Unfortunately that change also impacts older versions of Access (how I do not know). By contrast, machines with a most recent version of Office that is 'old' (e.g. Office 2010) never seem to have hit the combo box problem with any versions of Access.
- the Combo box problem has now (I understand, can't confirm) been fixed for the 'modern' versions of Office, but in a way that leaves the problem unfixed for older versions of Access.
- I think you will hit the unfixed problem if you run modern Office and a legacy version of Access. Which unfortunately is my situation.
- I still think that as Microsoft 'broke' old Access (including, but I suspect not only, Access 97) by this change, they should fix it, just as they have (apparently) fixed it for modern Office. - gjwpromo1weissfincomJan 08, 2024Copper Contributor
So you are not a fan of "DOS ain't done till Lotus won't run"? Sorry.
I was going to construct a simple accdb for you, but it appears as if the bug in Win 11 has been fixed. Thank you for contributing to this short lived dilemma.
Gene
- George_HepworthJan 06, 2024Silver Contributor
To be clear, I think we don't need to resort to conspiracies to explain anything Microsoft does or doesn't do.
If you have a sample accdb, running under Access 2016, which exhibits this problem, please share it. I think I can spin up a VM with A2016 on it to check it out.
- gjwpromo1weissfincomJan 06, 2024Copper ContributorIf it is happening on Pro 2016 (extended support end date is 2025), would that change your mind?
Clearly I am more conspiratorial than you regarding Microsoft's motives, and yet I still use it.
Thanks for the suggestion though. I will definitely look into it. - George_HepworthJan 06, 2024Silver Contributor
I don't think I said that at all. What I DID say is that Access97 is long out of support. That's not the same as saying Microsoft doesn't care about all of its users. Microsoft has made a lot of regrettable moves over the years, to be sure. Not providing updates to a version of Access now more 26 years old is not one of them, IMO.
That said, the solution for someone who does want to continue to use that software might well be to create a Class to replace some or all of the form and control Class events to provide those features.
You could add "TOP 100" to a SELECT statement in the query which provides records to the combo box to limit the number of records returned, although I'm unsure if that is a universally appropriate cut-off point.
I'm wrapping up editing on the video from Kent Gorrell's presentation to my User Groups a couple of days ago on that very topic. It primarily focused on interface considerations. However, one of the things that occurred to me during editing was that it is also applicable to data and logic tasks as well. This could be one of those. The video will be available on YouTube in a couple days, if all goes to plan.
If someone needs to maintain Access97 in a production environment, custom code using VBA classes might be an excellent way to help make that happen.
- gjwpromo1weissfincomJan 06, 2024Copper Contributor
George, I think you hit the nail on the head when you point out that Microsoft doesn't care about all of its users.
I am wondering if a solution to the problem would be to have the combobox create an event that on the first letter entered (I don't know how to make it exclusive to the first letter only), utilizes a query as its row source that limits the list of possibilities to 99 using the first letter as starting point. Unless you have more than 100 entries with a particular letter, that should work. Is there a way to create a row source limited to a specified number of entries? Again, I just don't know how to work around the "event" occurring with every letter entered.