As already advised, have to refer to subform through subform container control and commit the parent record to table before adding dependent record. Code is a number type field. Need to save ServicesID not Code text.
Code:
Private Sub AcceptBtn_Click()
DoCmd.OpenForm "InvoiceDataEntryF", acNormal, , , acFormAdd, acWindowNormal
Forms!InvoiceDataEntryF![CustomerID] = Me![CustomerID]
Forms!InvoiceDataEntryF![VAT] = Me![VAT]
Forms!InvoiceDataEntryF![InvoiceNotes] = Me![QouteNotes]
DoCmd.RunCommand acCmdSaveRecord
Forms!InvoiceDataEntryF.InvoicDetailsTSubform!Code = Me![QouteDetails Subform]!Code
Forms!InvoiceDataEntryF.InvoicDetailsTSubform![Qty] = Me![QouteDetails Subform]![Qty]
Forms!InvoiceDataEntryF.InvoicDetailsTSubform![IPrice] = Me![QouteDetails Subform]![QPrice]
End Sub
Again, suggest you correct spelling of Quote everywhere. Note you have a space instead of T in [QouteDetails Subform]. Advise no spaces and should be consistent in naming convention.
Missing an e in [InvoicDetailsTSubform]. Most experienced developers would place object identifier as a prefix in name. Common convention uses 3 letters. Consider shorter names. Ex: tblInvDet, frmInvDataEntry, qryCustomers.
There is nothing in code to prevent creating multiple invoices for the same quote. There is no way to know which quote an invoice was created from.