Duplicate Form/SubForm/Subform within subform

Grooz13

Registered User.
Local time
Today, 06:46
Joined
May 31, 2010
Messages
14
Duplicate Form/SubForm/Subform within subform data

OK this is the hardest problem I ever faced in acces..

I found a way to duplicate data from my form and my subform to a new record but I have a subform within my subform and I need this data to follow when I duplicate the subform...

here is my duplication code for my form and first subform any idea from here ?

Code:
Private Sub DUPLIQUER_ENR__Click()
'On Error GoTo Err_Handler
    'Purpose:   Duplicate the main form record and related records in the subform.
    Dim strSql As String    'SQL statement.
    Dim lngID As Long       'Primary key value of the new record.
 
    'Save any edits first
    If Me.Dirty Then
        Me.Dirty = False
    End If
 
    'Make sure there is a record to duplicate.
    If Me.NewRecord Then
        MsgBox "Select the record to duplicate."
    Else
        'Duplicate the main record: add to form's clone.
        With Me.RecordsetClone
            .AddNew
                ![# RÉF COMMANDE CLIENT] = Me.Ctl__RÉF_COMMANDE_CLIENT
                ![# CONTRAT] = Me.Ctl__CONTRAT
                ![CLIENT] = Me.CLIENT
                ![ADDRESSE LIVRAISON] = Me.ADDRESSE_LIVRAISON
                ![VILLE LIVRAISON] = Me.VILLE_LIVRAISON
                ![CP LIVRAISON] = Me.CP_LIVRAISON
                ![CONDO OU UNITÉE] = Me.CONDO_OU_UNITÉE
                ![DATE COMMANDE] = Me.DATE_COMMANDE
                ![DATE LIVRAISON] = Me.DATE_LIVRAISON
                ![NOTE SUR JOB] = Me.NOTE_SUR_JOB
                ![LIVRAISON EFFECTUÉE LE] = Me.LIVRAISON_EFFECTUÉE_LE
                ![LIVRAISON BO] = Me.LIVRAISON_BO
                ![FACTURÉE LE] = Me.FACTURÉE_LE
                ![# FACTURE] = Me.Ctl__FACTURE
                ![QTÉ_PORTES] = Me.QTÉ_PORTES
                ![PORTES_N] = Me.PORTES_N
                ![PORTES_U] = Me.PORTES_U
                ![PRIX_TOTAL] = Me.PRIX_TOTAL
 
                'etc for other fields.
            .Update
 
            'Save the primary key value, to use as the foreign key for the related records.
            .Bookmark = .LastModified
            lngID = ![# COMMANDE]
 
 
            'Duplicate the related records: append query.
            If Me.[ITEM DANS COMMANDE].Form.RecordsetClone.RecordCount > 0 Then
                strSql = "INSERT INTO [ITEM] ( [# COMMANDE], [QTÉ], [QTÉ EXP], [QTÉ BO], [TYPE], [MODÈLE],[L COL], [H COL], [LARG], [HAUT], [COUPE], [ÉPAIS], [CONST], [USINAGE], [OUV], [ESTAMPES], [DOLLARD_UNIT], [COLLÉ?], [PRESSE], [DOLLARD_TOTAL], [USINÉ?], [DATE LIVRAISON BO], [DATE_COLLE], [DATE_USINE], [QTÉ EXP_PARTIELLE], [DATE LIVRAISON_PARTIELLE], [NOTE COLLAGE], [NOTE USINAGE] ) " & _
                    "SELECT " & lngID & " As NewID, [QTÉ], [QTÉ EXP], [QTÉ BO], [TYPE], [MODÈLE], [L COL], [H COL], [LARG], [HAUT], [COUPE], [ÉPAIS], [CONST], [USINAGE], [OUV], [ESTAMPES], [DOLLARD_UNIT], [COLLÉ?], [PRESSE], [DOLLARD_TOTAL], [USINÉ?], [DATE LIVRAISON BO], [DATE_COLLE], [DATE_USINE], [QTÉ EXP_PARTIELLE], [DATE LIVRAISON_PARTIELLE], [NOTE COLLAGE], [NOTE USINAGE] " & _
                    "FROM [ITEM] WHERE [# COMMANDE] = " & Me.Ctl__COMMANDE & ";"
                DBEngine(0)(0).Execute strSql, dbFailOnError
            Else
                MsgBox "Main record duplicated, but there were no related records."
            End If
 
            'Display the new duplicate.
            Me.Bookmark = .LastModified
        End With
    End If
Exit_Handler:
    Exit Sub
Err_Handler:
    MsgBox "Error " & Err.Number & " - " & Err.Description, , "cmdDupe_Click"
    Resume Exit_Handler
End Sub
 
Last edited:

Users who are viewing this thread

Back
Top Bottom