Arkadaşlar merhaba
Dtemin formuna kayıt çoğalt düğmesi ekliyorum alt formu çoğaltmıyor ve hata veriyor.
edacan19, 17-04-2010 tarihinden beri AccessTr.neT
Dim rs_SubForm As DAO.Recordset
Dim fld As DAO.Field
Dim ctl_SubForm As Form
Set ctl_SubForm = Me!AltformAdı.Form 'Alt forma erişim
Set rs_SubForm = ctl_SubForm.RecordsetClone ' Alt formun Recordset'ini koplayalım
rs_SubForm.Bookmark = ctl_SubForm.Bookmark 'Kayıt bookmarkını belirleme
ctl_SubForm.Recordset.AddNew 'Yeni kayıt oluşturma
'Alt formdaki her alanı kopyalama işlemleri
'ID gibi alanları, hesaplama yapılan alanlar vs. hariç tutabilirsiniz
For Each fld In rs_SubForm.Fields
If fld.Name <> "ID" Then 'Örneğin ID alanını çoğaltmıyoruz
ctl_SubForm(fld.Name) = rs_SubForm(fld.Name)
End If
Next fld
ctl_SubForm.Recordset.Update 'Yeni kaydı güncelleyip kaydediyoruz
rs_SubForm.Close
Set rs_SubForm = Nothing
Set ctl_SubForm = Nothing
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