User Form maneuvering

R

Richard Mogy

I have created a user form with five text boxes.

The user is asked first to enter two numbers. After the second number is
entered, I check if the second number is greater than or equal to the first.
If it isn't, then I blank out both boxes, display a message and then I want
the cursor to go to the first box so the user can re-enter the range.

The problem is getting the cursor back to the first box.

I then have the user enter two dates in the third and fourth box. I do
similar checks to determine that the second date is greater than or equal to
the first date and if not, blank out both boxes, display a message. I then
want the cursor to go to the third box.

Any suggestions would be appreciated.
 
J

Jean-Yves

Hi Richard

something like
TextBox1.SetFocus
send your code if you people to help

Regards,
Jean-Yves
 
R

ross

Hi,

use the code
Me.TextBox1.SetFocus etc and some if statmets

Good luck
Ross

ALso see form help files:

Moves the keyboard focus to the specified command bar control so that
it can receive keyboard input. The kind of keyboard input you can
direct to the control depends on what type of control it is.

Note If the control is disabled or isn't visible from the current
state, this method will fail.

Syntax

expression.SetFocus

expression Required. An expression that returns a CommandBarControl,
CommandBarButton, CommandBarPopup, or CommandBarComboBox object.
 
R

Richard Mogy

Thanks to those who replied. I apologize for not including the code. I
have used the setfocus command, here's basically what the screen looks like

Enter Start Date:
Enter End Date:
Enter Office:
Enter Start Account:
Enter End Account:

Process End

Using these after updates in the "End Date" and "End Account", if the error
is in the end date, focus goes to "Start Account". If the error is in the
End Account, focus goes to the "END" command button.

Here's the code

Private Sub TxtDateTo_afterupdate()
date1 = Format(TxtFromDate.text, "mm/dd/yyyy")
date2 = Format(TxtDateTo.text, "mm/dd/yyyy")
If date2 < date1 Then
Me.TxtFromDate.SetFocus
TxtDateTo.text = ""
TxtFromDate.text = ""
TxtMessage.text = "End Date must be greater than or equal start date"

End If

End Sub




Private Sub txtEndAccount_afterupdate()
acct1 = txtStartAccount.text
acct2 = txtEndAccount.text

If acct2 < acct1 Or Len(acct2) < 5 Or Len(acct1) < 5 Then
Me.txtStartAccount.SetFocus
txtStartAccount.text = ""
txtEndAccount.text = ""
TxtMessage.text = "End Account must be greater than or equal start
Account"
End If

End Sub
 
Top