SheaJeff
asked on
Form automatically going into Edit mode right away
On my form, I have a UserName combo box that is the first field to receive the focus when the form opens. The default value is set to "=UsersFormalName()" from the function below.
The problem is that the record goes right into Edit mode (the little pencil in the upper left corner) as soon as the form is opened or a "new" record is added. Normally the mode would remain in "view" until user starts typing in a field (the little triangle in the upper left corner).
How can I stop the New record from going right into Edit mode but still have the UserName combo be the first field selected when the form is opened? Ideally I would like the Edit to start when the user tabs away from the field or selects another name from the combo.
The problem is that the record goes right into Edit mode (the little pencil in the upper left corner) as soon as the form is opened or a "new" record is added. Normally the mode would remain in "view" until user starts typing in a field (the little triangle in the upper left corner).
How can I stop the New record from going right into Edit mode but still have the UserName combo be the first field selected when the form is opened? Ideally I would like the Edit to start when the user tabs away from the field or selects another name from the combo.
Public Function UsersFormalName()
'DATABASE CONTAINS TABLE T_PEOPLE
On Error GoTo ErrorHandler_Err
Dim db As Database
Dim rst As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb
strSQL = "SELECT tbl_People.PeopleName " & _
"FROM tbl_People " & _
"WHERE (((tbl_People.UserName)=fGetUserName()));"
Set rst = db.OpenRecordset(strSQL)
UsersFormalName = rst.Fields("PeopleName").Value
Set rst = Nothing
'Error Handling-----------------
ErrorHandler_Err_Exit:
530 Exit Function
ErrorHandler_Err:
Select Case Err
Case 3059
Resume Next
'Case Else
'ErrorDetails = ErrorHandler(FormName:=FormNameConstant, ProcedureName:=ProcedureName, _
ErrNumber:=Err.Number, ErrDescription:=Err.Description, ErrLine:=Erl)
End Select
End Function
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
As Peter eluded to ... if you have any code in the Form Current that sets a Control Value, this will immediately make a record Dirty (ie in Edit mode). Look for that. Same would apply to the On Enter - On Got Focus event for a control first in the tab order, ... and you set a value .
mx
mx
ASKER
Peter, you were right.
I had an additional line on the OnExit event of the combo box besides the UnHighlight.
'Me.cmb_AcctNumber.Value = AcctIDdefault
I had an additional line on the OnExit event of the combo box besides the UnHighlight.
'Me.cmb_AcctNumber.Value = AcctIDdefault
ASKER
One thing that might help; if I have 2 or more records, and select the UserName field, then try to go to another record, the form goes right into Edit mode for the CURRENT record that I'm trying to move from. If I select any other field, the form moves between records normally.
I do have this for the field, and it was working fine before I added the default value.
Private Sub cmbo_UserName_GotFocus()
Me.cmbo_UserName.Dropdown
End Sub
On Enter and Exit events I use these functions to highlight the cell. It's worked fine forever so I can't imagine it is interfering
Sub Highlight()
With Me.ActiveControl
.Properties("BackColor") = 9434879
End With
End Sub
Sub Un_Highlight()
Me.ActiveControl.Propertie
End Sub