• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 358
  • Last Modified:

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.

Public Function UsersFormalName()
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-----------------
530      Exit Function
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

Open in new window

  • 2
1 Solution
I don't think Edit mode is being produced by your default value function.
There must be something else going on.

How are you opening the form?  If in code can you post the code.
Is there any code/macro in the form Load or Form Current event procedures?
SheaJeffAuthor Commented:
I've added break/watch points to all of the form events, but still can't find what's causing it.
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()
     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.Properties("BackColor") = 16777215
End Sub
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
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 .

SheaJeffAuthor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now