I was able to do this without creating a button that gets the value first. Here's what I did:
* In the field that gets the default value set an on_enter event.
* The Visual Basic code for that event looks like this:
Private Sub TrainerID_Enter()
Dim objRS As DAO.Recordset
' if no value exists, default to the previously entered value
If TrainerID.Text = "" Then
Set objRS = Me.RecordsetClone
objRS.MoveLast
If Not objRS.EOF Then
TrainerID = objRS!TrainerID
' Now that the field has a value, select the text
' (makes for easy replacement if the default value isn't desired)
TrainerID.SelStart = 0
TrainerID.SelLength = Len(TrainerID.Text)
End If
End If
End Sub