Ideally you would probably want to use an unbound form. I cam up with this pretty quickly to use on a bound form, but it is very inelegant and I would hold out for a better solution if you have the time.
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
With DoCmd
.SetWarnings False
.RunSQL "INSERT INTO MyTable (text1, text2, num1, num2) SELECT '" & Me![text1] & _
"' AS Expr1, '" & Me![text2] & "' AS Expr2, " & Me![num1] & " AS Expr3, " & _
Me![num2] & " AS Expr4"
.SetWarnings True
End With
Me.Undo
Cancel = True
End Sub