09/08/2021, 21:11
Her yeni kayıda yılın eklenmesi yeterli olur bence ama eski kayıtlar için de yıl güncellemesi gerekecek 1 defa yıl güncellemesi yapıldıktan sonra yeni kayıtlarda bu sorun olmaz.
(09/08/2021, 21:11)berduş yazdı: [ -> ]Her yeni kayıda yılın eklenmesi yeterli olur bence ama eski kayıtlar için de yıl güncellemesi gerekecek 1 defa yıl güncellemesi yapıldıktan sonra yeni kayıtlarda bu sorun olmaz.
(09/08/2021, 22:05)berduş yazdı: [ -> ]kast ettiğim o değil yanılmıyorsam dosyanızdaki tabloda yer alan kayıtların henüz yıl alanı yok yıl alanı olmayan eski kayıtlar için bir defaya mahsus olarak düşünmüştüm ama dosyanızın son halini ekleyin ona göre bir çözüm bulmaya çalışırız kodda sadece recordseti tanımlarken bu yılın kayıtlarını çağırırsak sorun çıkmaz diye düşünüyorum
Function Yok() As Long
Dim Kayit As Recordset, Sayac As Long
Set Kayit = CurrentDb.OpenRecordset("Select Rapor_No_Dosya from Tablo1 where (Rapor_No_Dosya)>0 and [Rapor_Yili]=" & Year(Date) & " order by Rapor_No_Dosya") '<== değişen
If Kayit.RecordCount = 0 Then Yok = 1: Exit Function
Kayit.MoveFirst
Sayac = 0
Do Until Kayit.EOF
Sayac = Sayac + 1
If Sayac <> Nz(Kayit(0), 0) Then Yok = Sayac: Exit Do
Kayit.MoveNext
Loop
If Yok = 0 Then Yok = Kayit.RecordCount + 1 '<==eklenen
Kayit.Close: Set Kayit = Nothing
End Function
(09/08/2021, 23:35)lemoncher2 yazdı: [ -> ][quote="berduş" pid="181683" dateline="1628540679"]
tarihi 'Format(Date, "yyyy") yerine aşağıdaki gibi de ekleyebilirsiniz aynı şey
Me.Metin481 = Year(Date)
modül kodunu aşağıdaki gibi düzenleyip dener misiniz?
Function Yok() As Long
Dim Kayit As Recordset, Sayac As Long
Set Kayit = CurrentDb.OpenRecordset("Select Rapor_No_Dosya from Tablo1 where (Rapor_No_Dosya)>0 and [Rapor_Yili]=" & Year(Date) & " order by Rapor_No_Dosya") '<== değişen
If Kayit.RecordCount = 0 Then Yok = 1: Exit Function
Kayit.MoveFirst
Sayac = 0
Do Until Kayit.EOF
Sayac = Sayac + 1
If Sayac <> Nz(Kayit(0), 0) Then Yok = Sayac: Exit Do
Kayit.MoveNext
Loop
If Yok = 0 Then Yok = Kayit.RecordCount + 1 '<==eklenen
Kayit.Close: Set Kayit = Nothing
End Function