"Enter" key moving to next field

B

Bob Howard

Using Access 2003, what sort of command should I issue in my VBA code to set
the option to cause the "Enter" key to move to the next field?

bob
 
B

Bob Howard

follow-up --- I want this to work in Access 2007 environments as well since
some of my users have A2K7 on their computers.
 
R

Rick Brandt

Bob said:
follow-up --- I want this to work in Access 2007 environments as well
since some of my users have A2K7 on their computers.

That is the default behavior so just don't change it and you need no code
whatsoever.
 
B

Bob Howard

Depending on how each of my users has this option set, my program will
respond differently. I want my program to respond the same, regardless.

And a large percentage of my users have a Runtime edition of Access ... so
they cannot set this option anyway.

So my question remains --- how do I set it via VBA?

bob
 
F

fredg

Depending on how each of my users has this option set, my program will
respond differently. I want my program to respond the same, regardless.

And a large percentage of my users have a Runtime edition of Access ... so
they cannot set this option anyway.

So my question remains --- how do I set it via VBA?

bob

Using VBA, you can cycle through the database's form's collection,
opening, in turn, each form in Design View acHidden, and set the
EnterKeyBehavior property for each text control to False (False is
Default, True is New Line in field). Then close the form acSaveYes.
If you need any help with the actual code, post back.

However, if the user is using a runtime, they can't change the setting
from your original Default, so this won't affect them.
 
A

Albert D. Kallal

And a large percentage of my users have a Runtime edition of Access ... so
they cannot set this option anyway.

Since they can't change this, then you are safe with the default...

However, here is code solution:

Application.SetOption "Move After Enter", 1

The tools->options, and then keyboard tab

0 = Don't move
1 = next field
2 = next record

In a2003 to find all of the settings as above, the help is REALLY REEALLY
nice in this regards.

From VBA editor, go help-> and then search for:

set options in vba

The first hit is :

Set Options from Visual Basic

Choose the above, and you find a REALLY nice gem of a help topic on how to
set/get any of the values you see in the tools->options tab.

Here is a few common settings I use...even for runtime apps:

Application.SetOption "ShowWindowsInTaskbar", False
Application.SetOption "Themed Form Controls", True
Application.SetOption "Show Startup Dialog Box", False
Application.CommandBars.AdaptiveMenus = False
 
B

Bob Howard

Thanks Albert --- that did it ! ! !

bob

Albert D. Kallal said:
Since they can't change this, then you are safe with the default...

However, here is code solution:

Application.SetOption "Move After Enter", 1

The tools->options, and then keyboard tab

0 = Don't move
1 = next field
2 = next record

In a2003 to find all of the settings as above, the help is REALLY REEALLY
nice in this regards.

From VBA editor, go help-> and then search for:

set options in vba

The first hit is :

Set Options from Visual Basic

Choose the above, and you find a REALLY nice gem of a help topic on how to
set/get any of the values you see in the tools->options tab.

Here is a few common settings I use...even for runtime apps:

Application.SetOption "ShowWindowsInTaskbar", False
Application.SetOption "Themed Form Controls", True
Application.SetOption "Show Startup Dialog Box", False
Application.CommandBars.AdaptiveMenus = False
 
R

Rick Brandt

Bob said:
Depending on how each of my users has this option set, my program will
respond differently. I want my program to respond the same,
regardless.

Perhaps they changed this on newer versions. In previous ones it is not a
user-specific Access level setting. It is a setting per-control on your
forms and the default is to move to the next field.

If they changed it to an Access level setting then you really have no
business mucking with the user's preference anyway.
 
B

Bob Howard

Rick Brandt said:
Perhaps they changed this on newer versions. In previous ones it is not a
user-specific Access level setting. It is a setting per-control on your
forms and the default is to move to the next field.

If they changed it to an Access level setting then you really have no
business mucking with the user's preference anyway.

Rick, I see no setting in the controls regarding this option (my controls
are a mixture of combo boxes and text boxes).

bob
 
D

Douglas J. Steele

Bob Howard said:
Rick, I see no setting in the controls regarding this option (my controls
are a mixture of combo boxes and text boxes).

Look on the Other tab in the Properties window of your text boxes.
 
B

Bob Howard

Douglas J. Steele said:
Look on the Other tab in the Properties window of your text boxes.

That seems to be a different option... the option you're referring to seems
to be how Access reacts when entering a field.

I'm looking at the option that causes the "Enter" key to cause Access to
move from field to field within a record ... and that seems to be something
I set in the Access options screen.

bob
 
R

Rick Brandt

Bob said:
That seems to be a different option... the option you're referring to
seems to be how Access reacts when entering a field.

I'm looking at the option that causes the "Enter" key to cause Access
to move from field to field within a record ... and that seems to be
something I set in the Access options screen.

I am looking right at it and the property is called "Enter Key Behavior".
The choices are "default" and "new line in field". It does not exist on
ComboBoxes. ListBoxes, or CheckBoxes, but does on TextBoxes.

Here is the help file topic...
 
R

Rick Brandt

Rick said:
I am looking right at it and the property is called "Enter Key
Behavior". The choices are "default" and "new line in field". It
does not exist on ComboBoxes. ListBoxes, or CheckBoxes, but does on
TextBoxes.
Here is the help file topic...

Sorry - prematurely sent last message. Here is the help file topic...

You can use the EnterKeyBehavior property to specify what happens when you
press ENTER in a text box control in Form view or Datasheet view. For
example, you can use this property if you have a control bound to a Memo
field in a table to make entering multiple-line text easier. If you don't
set this property to New Line In Field, you must press CTRL+ENTER to enter a
new line in the text box.

Setting

The EnterKeyBehavior property uses the following settings.

Default (Default)
Microsoft Access uses the result specified under Move After Enter on the
Keyboard tab of the Options dialog box, available by clicking Options on the
Tools menu. For details, see the Remarks section. False (0)

New Line In Field
Pressing ENTER in the control creates a new line in the control so you can
enter additional text. True (–1)

You can set this property by using a form's property sheet, a macro, or
Visual Basic. You can set the default for this property by using the
control's default control style or the DefaultControl method in Visual
Basic.

Remarks

The following options are available under Move After Enter on the Keyboard
tab of the Options dialog box.

Option Description
Don't Move Pressing ENTER has no effect.
Next Field Pressing ENTER moves the insertion point to the next control or
field in the form or datasheet in the tab order.
Next Record Pressing ENTER moves the insertion point to the first control or
field in the next record on the form or datasheet.
 
B

Bob Howard

Rick Brandt said:
Sorry - prematurely sent last message. Here is the help file topic...

You can use the EnterKeyBehavior property to specify what happens when you
press ENTER in a text box control in Form view or Datasheet view. For
example, you can use this property if you have a control bound to a Memo
field in a table to make entering multiple-line text easier. If you don't
set this property to New Line In Field, you must press CTRL+ENTER to enter
a new line in the text box.

Setting

The EnterKeyBehavior property uses the following settings.

Default (Default)
Microsoft Access uses the result specified under Move After Enter on the
Keyboard tab of the Options dialog box, available by clicking Options on
the Tools menu. For details, see the Remarks section. False (0)

New Line In Field
Pressing ENTER in the control creates a new line in the control so you can
enter additional text. True (-1)

You can set this property by using a form's property sheet, a macro, or
Visual Basic. You can set the default for this property by using the
control's default control style or the DefaultControl method in Visual
Basic.

Remarks

The following options are available under Move After Enter on the Keyboard
tab of the Options dialog box.

Option Description
Don't Move Pressing ENTER has no effect.
Next Field Pressing ENTER moves the insertion point to the next control or
field in the form or datasheet in the tab order.
Next Record Pressing ENTER moves the insertion point to the first control
or field in the next record on the form or datasheet.
Thanks. That final option was what I was after as what I wanted to do was
to set it to "Next Field" within the VBA code. Albert Kallal previously
responded with the code I was after and it's working. Bob
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top