Solved Afterupdate with no update.

How can this be useful? I tested code. As soon as I type first letter, code sets focus to other control. I can never enter a full value. This is no better than Click event.
Yes, if you going to have users type in place of selecting a value, then what I suggest? You need more code.

So, you will require additional code to check if what they typed in matches a value in the list - and then you move focus. Really no other way to have some focus change if they not finished typing - unless you want something else to occur?

In a way the problem was always how you going to have a event trigger based on "when" they are finished typing.

Kinda why hitting tab is in general required.

But if user not going to hit tab?

Then we require a means to figure out when they are done typing - how could we know?

So, the REAL question then becomes:

How can we tell if a user is done typing something, and then trigger an event?


So if you going to allow typing as opposed to assuming users will select a drop down value?

Then only solution is to check the .Text value and check if what's typed in matches something in the list....

However, often there will be a match, but if the user types MORE then additional matches will occur.

So, really, this is a rather difficult issue if one is to allow typing. I can't really think of a way to determine when the user is done typing.
Since there's not a way to do this?
Then I assumed (wrong here BTW) that this was a drop down selecting process - not a typing selecting.....

A interesting little problem. If all values were rather "unique", then we could perhaps test the .SelText which is going to be the "auto matched" part, and that would be different length then the .Text. (hence a possible solution if entries are very different).

However, matches will thus occur during typing, and if additional typing to further narrow down the current auto match? Hum, no real way to read the human mind.....

I suppose one could consider that after some time delay and the user not typing anymore, we assume the current entry then?

R
Albert
 
Last edited:
This is probably a dumb question, but
I have a combo box that gets focus with the correct data.
When I click on the combo box there is no response from the "afterupdate" or "onclick" events.
How do I get focus to move to the next control?

The YouTube video illustrates how after selecting a value in a combo box it drops down the list of the next combo box.

@Albert D. Kallal said: if you going to have users type in place of selecting a value, then what I suggest? You need more code.

I did type the first letters of the value I wanted and the combo controls auto-completed the desired value, without needing aditional code because that's default functionality for Access combo box controls.

You can also scroll down the dropdown list to the desired value and press enter.

EDIT: Hmm, the video didn't actually capture the lists dropping down. Does anyone know why it doesn't record that?

 
Last edited:
May be missing the point, but you can use the timer event - away from my computer at the moment but set the timer for say 1/2 second. Reset the timer on each key press. If user hasn’t typed anything for 1/2 second, assume they have finished
 
I don't understand the difficulty the OP was experiencing with automatically dropping down the lists when focus is set on a combo box and after selecting a value, setting focus on the next combo, as can be seen in the YouTube video below.

I also don't understand why the dropdown lists were not visible when recording with my Win10's built-in Xbox Game Bar recorder, so I recorded the screen with my mobile device :rolleyes:

My device has an NVIDIA GeForce RTX 5090 graphics card and DirectX12 Ultimate.

DirectX12Ult.png


 
In a previous multi-post thread with a (now-departed-but-not-deceased) knowledgeable forum member (who must not be named but she wasn't Lord Voldemort), there came a discussion about the factor that is going on here.

Someone has a particular behavior in mind and wants Access to do what s/he wants. But they made the design without considering the odd chance that it would be more efficient and less work if you could re-orient your thinking to follow the operational style of Access. Basically, if you know what Access does on its own, you do less work and get more results quicker (and maybe better?) if you let Access do its thing while helping you. We all talk about how Access is sometimes as dumb as a box of rocks, but it DOES know how to build database elements. It just doesn't know what elements you want to put and where. It doesn't know what to DO with your data. There, you have to step in.

It comes down to a simple phrase - either you go with the flow or you try to paddle upstream. This becomes a philosophical issue in that Access is a Rapid Application Development tool and - for better or worse - that rapidity is based on its designer's viewpoint of an ergonomically comfortable data flow, which for readers of English and many of the "Romance" languages, is a left-to-right, top-to-bottom reading order and writing order. It is ingrained into us by the way we read books. For that reason, TAB ORDER is ALSO left-to-right, top-to-bottom.

Any time that this order is not good enough, we will run into problems that require extra work. In the simplest case, the work is changing tab order manually via numeric entry or drag-n-drop. But there are other things that people do because Access "doesn't do it right" (by their standards.) For instance, UPDATE behavior on a form. Drop-down behavior in an FAYT environment.

This comes back to another principle. When all you've got is a hammer, everything will be treated like a nail. When all you've got is Access, you'll have to work harder when you are trying to do something that Access doesn't do naturally. And that is what is going on here.
 
Actually, if you note many times here? I just use screentogif for my posts. It's quick and simple.

As I pointed out, the issue REALLY comes down to HOW you going to know when the user is finished typing.

So, for example, in this dropdown, I type in the letter K - and auto complete will match the first "K" value.

cboType.gif


Ok, so I hit the letter K in above. But, how do we know if I want to keep on typing - or is the first "K" value what I want....

I of course can keep on typing, such as: "K", then "i".

cboType2.gif


The problem still remains - how to know when the user is finished typing.

So, as suggested here, user has to hit tab key - that that's going to be the case for web based, or desktop, and it's been that way since day one of the windows (and web) GUI (that's over 30 year now!!!!).

So, as some suggested here? I suppose a timer - but EVEN then, maybe I do have to type more, and narrow down some choices. With part descriptions or what not? Often there is going to be quite a bit of typing until such time the match is narrowed down, and as noted, maybe I'm already happy with the choice I narrowed down, but then again, maybe not.....

Anyway, as a tip, and how I been of late posting animated images in my posts such as above? I use the free screentogif - it's fast and easy....
(in fact, I dare say that to make this post - barely any different time and effort compared to if the above gifs not been included)

Edit: as George pointed out? It's near always a bad idea to try and override the default windows GUI standard specifications and behaviors- really, it is!

R
Albert
 
Last edited:
I have a combo box that gets focus with the correct data.

If you highlight the correct data in the On GotFocus event, users only have to press enter, or click on the next control, as can be seen in the video.

HighlightOnGotFocus.PNG


 

Users who are viewing this thread

Back
Top Bottom