onu sağlarız ama daha sonra seçerek mükerrek eklediklerinizi de düşünmek lazım.
yeni kodlar aşağıdaki gibidir. manuel seçimlerinizi englemmesin istiyorsanız before update olayındandan ayarlayabilirsiniz. deneyin gözden kaçırdığımız bir şey varsa yeniden inceleriz.
Option Compare Database
Dim
Sql As String
Private Sub ADI_AfterUpdate()
Guncelle
End Sub
Private Sub Guncelle()
Dim siraNo As String, oAdi As String
sRecord
siraNo = Nz(ADI.Column(1)): If siraNo = "" Then Exit Sub
oAdi = ADI
Sql = "INSERT INTO Tablo2 ( ADI ) SELECT Tablo1.ADI FROM Tablo1 LEFT JOIN Tablo2 ON Tablo1.ADI = Tablo2.ADI WHERE (((Tablo1.SIRA_NO)= '" & siraNo & "') AND ((Tablo2.ADI) Is Null));"
DoCmd.RunSQL SQL
End Sub
Private Sub sRecord()
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.RunCommand acCmdSaveRecord
End Sub
Private Sub ADI_BeforeUpdate(Cancel As Integer)
kRecord
End Sub
Private Sub kRecord()
Dim oAdi As String, say As Integer
oAdi = Me.ADI: If oAdi = "" Then Exit Sub
say = Nz(DLookup("kimlik", "tablo2", "ADI = '" & oAdi & "'"))
If say > 0 Then MsgBox "bu zaten kayıtlı geri alıyorum", vbInformation, "Mükerrer giriş yapamazsın": Undo
End Sub