Private Sub txt_tcknsorgu_AfterUpdate()
Dim TCKN, TCKNKR As String
TCKN = Me.txt_tcknsorgu.Value
TCKNKR = "tcno = '" & Forms!Frm_verigiris!txt_tcknsorgu.Value & "'"
If Dlookup ("tcno", "dosya", TCKNKR) > 0 Then
If MsgBox(TCKN & " TC NO İLE KAYITLI KİŞİ BULUNMAKTADIR." & vbCrLf & _
"DEVAM EDİLMESİ HALİNDE MEVCUT KAYITTA GÜNCELLEME YAPILACAKTIR." & vbCrLf & _
"DEVAM ETMEK İSTİYOR MUSUNUZ?", vbYesNo) = vbNo Then
'güncelleme onaylanmaz ise değişiklikleri geri al yeni kayıt aç
Me.Undo
DoCmd.GoToRecord , , acNewRec
Me.txt_tckn.SetFocus
Else
'güncelleme onaylanırsa son kaydını bul ve getir
Dim SonID As Long
SonID = DMax("Kimlik", "dosya", TCKNKR)
If Not IsNull(SonID) Then
Me.txt_tckn = Me.txt_tcknsorgu.Value
Me.txt_adsoyad = Dlookup ("adisoyadi", "dosya", "Kimlik=" & SonID)
Me.txt_isebaslama = Dlookup ("isebaslama", "dosya", "Kimlik=" & SonID)
Me.txt_istenarilma = Dlookup ("istenayrilma", "dosya", "Kimlik=" & SonID)
Me.txt_kapanis = Dlookup ("kapanistarihi", "dosya", "Kimlik=" & SonID)
End If
End If
End If
End Sub
Sadece cevaba odaklanıp ezbere şekilde onu kullanmaya çalıştığınız için basit bir hatayı görmüyorsunuz. Kodu yazarken msgbox if denetimini kapatmış ama TCKN if denetimi kapatmamışım bir End If eksik olduğundan hata veriyor ve zaten hata olarak vereceği de "If block without End If".
Ezbere çalışmayı bırakın mantığını anlamaya çalışın bu kadar basit hataları çözmeniz gerek, taşıma suyla değirmen dönmez.