Code:
Public Function Duplicate(frm As Form) As Boolean
'Make a new record as a duplicate of the current
Dim i As Integer, n As Integer, v() As Variant, rs As DAO.Recordset
Duplicate = False
If frm.NewRecord Then Exit Function
n = frm.Controls.Count - 1 'number of controls
ReDim v(n)
On Error Resume Next
For i = 0 To n 'old values
v(i) = frm.Controls(i).Value
Next i
DoCmd.GoToRecord acDataForm, frm.Name, acNewRec
For i = 0 To n 'old values
If Not IsEmpty(v(i)) Then frm.Controls(i).Value = v(i)
Next i
Duplicate = True
End Function
Usage:
Code:
Duplicate Me.Form
Me!SerialNumber = "N/D"