Skip to main content

AccessTr.neT


eksik sayıyı sıra olarak atama

eksik sayıyı sıra olarak atama

#31
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.
Cevapla
#32
(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.

Eski kayıtların yıl güncellenmesi de yapılmaması gerekiyor ama hangi yıl olarak kaydedilmişse o şekilde kalması gerekmekte
Cevapla
#33
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

konunuz tekrar sorulara taşınmıştır
dosyanızı ekleyebilirsiniz.
Cevapla
#34
(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

Sizin çalışmanıza bahsettiğim şekilde bir ekleme yaptım. Yeni Kayıt Butonuna tıklayıp deneyebilirmisiniz.
.rar SiraNoAta_hy.rar (Dosya Boyutu: 174,55 KB | İndirme Sayısı: 6)
Cevapla
#35
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
Cevapla
#36
(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

Sanırım çalışıyor şuan hocam elinize sağlık bilgisayarın tarihini değiştirmek suretiyle deneyebilirim sanırım

kaydet butonunda If Nz(Me.Rapor_No_Dosya, 0) = 0 Then Me.Rapor_No_Dosya = Yok  bu kodu kullanıyorum
Şimdi denedim de rapor_No_Dosya sayılarını aynı sayılar olacak şekilde veriyor.

Tablo1 deki tüm kayıtları sildim. Form üzerinden 6 adet kayıt ekledim. Tablo1 üzerinden 3. kaydı sildim. Form üzerinden 6. kaydı seçip değiştir diyip tekrar işlem yapmadan kaydet dediğimde eksik sayıyı sıra olarak atamadı
Son Düzenleme: 09/08/2021, 23:49, Düzenleyen: lemoncher2.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task