> ## Content Index
> Fetch the complete content index at: https://nolongerset.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# ArrowKeyNav Presentation
- URL: https://nolongerset.com/arrowkeynav/
- Published: 2021-05-07T01:30:00.000Z
- Updated: 2026-05-08T13:04:36.000Z
- Description: A list of resources and further reading to support my presentation on Navigating Continuous Forms using WithEvents.
- Author: Mike Wolfe
- Tags: Events, Presentations, #Import 2026-05-20 02:59

Today I gave my presentation on implementing Excel-style navigation using WithEvents to the [Access Pacific Users Group](https://accessusergroups.org/pacific/event/89/).

## Resources

### Slide deck

Here's a PDF copy of the slides: 

- [Navigating Continuous Forms Using WithEvents](https://assets.nolongerset.com/ArrowKeyNav.pdf)

### Sample database

Here's a copy of the sample database from my demo: 

- [ArrowKeyNav-NoErrEx.accdb](https://assets.nolongerset.com/ArrowKeyNav-NoErrEx.accdb)*: (NOTE: I stripped the vbWatchdog code out of this copy of this db, so there is no real error handling in it now)*

### Video link

~~I will post a link to the recording when it is available.~~

The video is now available on [YouTube](https://www.youtube.com/watch?v=XBKkZhLaem8): 

Special thanks to Access MVP [Crystal Long](https://twitter.com/strive4peace123) for producing and posting the video.

## Further reading

Below is a sampling of my articles that go more in depth into some of the topics I mentioned during my talk:

[Event-Driven Programming in VBAEvent-driven programming may sound complicated, but the concept is really quite simple.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/04/funnel-ball.JPG)](https://nolongerset.com/event-driven-programming-in-vba/)

[Raising Custom Events in VBAThis quick tutorial will have you writing custom events in VBA in no time.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/04/Events-in-VBA.jpg)](https://nolongerset.com/raising-custom-events-in-vba/)

[Navigating Continuous FormsIf Up is left and Down is right, you must be navigating a continuous form in Microsoft Access.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/04/Continuous-Form-Nav.jpg)](https://nolongerset.com/navigating-continuous-forms/)

[Handling Keyboard Events in AccessThis beginner article will step you through the process of how to begin writing code that runs when a user presses a key on the keyboard.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/04/technology-785742_1920.jpg)](https://nolongerset.com/handling-keyboard-events-in-access/)

[KeyCode and Shift ArgumentsThe KeyDown and KeyUp events include KeyCode and Shift arguments to identify which keys the user pressed. Let’s explore those arguments in more detail.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/05/KeyCode-and-Shift.jpg)](https://nolongerset.com/keycode-and-shift-arguments/)

[The ArrowKeyNav RoutineEnable Excel-like navigation in your continuous forms by overriding the default behavior of the up and down arrow keys.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/05/keyboard-66386_1920.jpg)](https://nolongerset.com/arrowkeynav-routine/)

[Beautiful Blocks of BoilerplateUsing the colon character to join multiple lines of code all willy-nilly can lead to messy code. But, used judiciously, it can create beauty from chaos.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/05/postit-169631_1920.jpg)](https://nolongerset.com/beautiful-blocks-of-boilerplate/)

[Using WithEvents to Encapsulate Event Handling CodeYou don’t need to call the event handler for every control to handle its events. Instead, you can use WithEvents to encapsulate that code in a class module.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/05/winter-3243325_1920.jpg)](https://nolongerset.com/using-withevents-to-encapsulate-event-handling-code/)

[Handling Multiple Control Types in a WithEvents ClassUsing WithEvents to subclass form controls is a powerful technique. Here’s one way to handle multiple control types in a single class.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/05/WithEvents-ControlTypes.jpg)](https://nolongerset.com/handling-multiple-control-types-in-a-withevents-class/)

[Throwing Errors in VBAIntroducing a frictionless alternative to Err.Raise.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2020/10/juggler-2329843_1920.jpg)](https://nolongerset.com/throwing-errors-in-vba/)

An article about my custom `Throw` routine.

[My Dirty Little SecretI don’t use Me.Dirty = False in my #msaccess code. I wrap it up and call it from a “guard clause” instead.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2020/11/man-4393964_1920.jpg)](https://nolongerset.com/my-dirty-little-secret/)

An article about "guard clauses."

**UPDATE* \[2021-05-19\]: Added link to presentation on YouTube.*