(01/10/2021, 12:26)alperadn01 yazdı: Dediğim şekilde sadece belirli bilgiler gelmiyorsa konu taşınabilşr. Verdiğiniz cevaplardan dolayı teşekkür ederim
Ekli dosyada Frm_verigiris adlı formu inceleyin. Kendi çalışmanızı buna göre uyarlarsınız.
(Dün, 15:38)onur_can yazdı: Aynı kaydı kayıt çoğaltarak güncelliyorsanız, ilgili kaydı kriter kullanıp (adı=x), Son ID numarasını (Max([ID]) kullanarak getirebilirsiniz. Program mantığınızı bilmiyorum ama aynı kayıtı çoğaltmak yerine varolan kayıt üzerine güncelleme yapsanız daha iyi olur. Bu şekilde olursa yukarıdaki işlemi yapmanıza da gerek kalmaz.
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 Sub
şeklinde güncelleyecek olursak mevcut TC ile kayıt var mı kontrol edip güncelleme isteyip istemediğinizi sorar, güncelle derseniz bu defa o TC ile ilgili son kaydı bulup onun verilerini getirir. 17. mesajda belirttiğim çözüm yolu metadolojik olarak da, programatik olarak da, UI/UX deneyimi olarak da daha doğru çözümdür.