Remember this is <<< AIR CODE >>> so use at your own risk! This is my idea of the MainForm button code for what you requested. I used the field names you supplied in post #3.
Code:
Private Sub cmdReQuote_Click()
'-- Renew the current Quote by duplicating the existing records...
'-- but giving the new records a fresh QuoteID of their own.
On Error GoTo Err_cmdReQuote_Click
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim MySQL As String
Dim MyQuoteID As Long
Dim NewQuoteID As Long
Set db = CurrentDb
MyQuoteID = [Quote ID] '-- Directly from the Current Record of the MainForm
'-- Append a new record to tblQuote table with *almost* all of the same values as the current record
'-- We let the table create a new AutoNumber [Quote ID] and use the current DATE
'-- BTW, DATE is a RESERVED word and should *not* be used as a FieldName
MySQL = "INSERT INTO tblQuote ( [Client id], [User id], [Quoting company id], [Site id] , " & _
"[Date], [quote status], [quote intro text], [quote exit text]) " & _
"SELECT [Client id], [User id], [Quoting company id], [Site id] , Date, " & _
"[quote status], [quote intro text], [quote exit text] FROM tblQuote " & _
"WHERE [Quote ID] = " & MyQuoteID & ";"
db.Execute MySQL, dbFailOnError
'-- Get the *new* QuoteID
Set rs = db.OpenRecordset("SELECT @@IDENTITY AS LastID;")
NewQuoteID = rs!LastID
rs.Close
Set rs = Nothing
'-- Now we need to duplicate any LineItems associated with the previous quote
MySQL = "INSERT INTO tblquotelineitems ( quoteid, catagoryid, Description , qty, [Value]) " & _
"SELECT NewQuoteID, catagoryid, Description , qty, [Value] FROM tblquotelineitems " & _
"WHERE [quoteid] = " & MyQuoteID & ";"
db.Execute MySQL, dbFailOnError
'-- You will still need to move your MainForm to the newly created quote
'-- You can do this with a FindFirst
'-- The SubForm should follow along with the MainForm
Exit_cmdReQuote_Click:
On Error Resume Next
rs.Close
Set rs = Nothing
Set db = Nothing
Exit Sub
Err_cmdReQuote_Click:
MsgBox "Error Number: " & Err.Number & vbCrLf & _
"Description: " & Err.Description
Resume Exit_cmdReQuote_Click
End Sub