aşağıdaki gibi bir kod belki işinize yarayabilir?
On Error GoTo Err_Komut118_Click
Dim strSQL As String, ilkKimlik
ilkKimlik = Me.Kimlik
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdRecordsGoToNew
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdPaste
DoCmd.RunCommand acCmdSave '|<-----kaydetme işlemi için eklendi bu olmadan alt tabloya veri eklenmiyor
strSQL = ""
strSQL = "SELECT * FROM Malzeme where [Kimlik]=" & ilkKimlik
Set rs1 = CurrentDb.OpenRecordset(strSQL)
Set rs2 = CurrentDb.OpenRecordset("Malzeme")
With rs1
If Not .BOF And Not .EOF Then
.MoveFirst
While (Not .EOF)
rs2.AddNew
For x = 1 To .Fields.Count - 1
If rs1(x).Type <> 7 Then rs2(x) = rs1(x)
Next x
rs2(0) = Me.Kimlik
rs2.Update
.MoveNext
Wend
End If
End With
Exit_Komut118_Click:
Exit Sub
Err_Komut118_Click:
MsgBox Err.Description
Resume Exit_Komut118_Click
bu arada aklıma gelmişken ilgili kayda gitmek için kullandığınız makro da bence sorunlu
öncelikle güncellenme olayına eklemişsiniz ki eğer amaç sadece ilgili kayda gitmekse tıklama olayına eklenmeliydi.
ikinci olarak da makro yerine kod ile gitmek daha uygun olurdu, bende kaydı çoğaltma olayında sorun çıkarıp durdu