You could write a series of sql queries to copy the records. It might look something like this. Seeing as you have over 100 fields in one table this might get kind of hairy. (This is one of many reasons you probably shouldn't have 100 fields in one table)
Code:
Public Sub copy_customer(customer_id As Long)
On Error GoTo ErrHandler
Dim db As DAO.Database
Dim qry As String
Set db = CurrentDb
'Build a sql query that selects a record and inserts it again as a new row, exclude the primary key field if it's autonumber
qry = "INSERT INTO child_table (field_1, field_2, field_3)"
qry = qry & vbCrLf & "SELECT field_1, field_2, field_3"
qry = qry & vbCrLf & "FROM child_table"
qry = qry & vbCrLf & "WHERE child_table.parent_id=" & customer_id
db.Execute qry, dbFailOnError
'repeat for all your child tables
qry = "INSERT INTO child_table (field_1, field_2, field_3)"
qry = qry & vbCrLf & "SELECT field_1, field_2, field_3"
qry = qry & vbCrLf & "FROM child_table"
qry = qry & vbCrLf & "WHERE child_table.parent_id=" & customer_id
db.Execute qry, dbFailOnError
ExitHandler:
Set db = Nothing
Exit Sub
ErrHandler:
MsgBox Err.Description & vbCrLf & vbCrLf & qry, vbInformation, "copy_customer error #" & Err.Number
Debug.Print "Error on the following query:" & vbCrLf & qry
Resume ExitHandler
End Sub