Kayıt İçin Otomatik Günlük Sıra Numarası Vermek

1 2
13/06/2022, 19:21

M_Kemal_Askeri

Herkese Merhabalar,

Ekte gönderdiğim örnekte bir Araç Yıkama ve Park Yerine hem Park hem de Yıkama maksatlı GÜNLÜK araç kaydı yapmak istiyorum. Günlük tarih ile KAYIT butonu üzerinden otomatik sıra kayıt numarası verebiliyorum ama ben hem PARK ve hem de YIKAMA için kendi içerisinde ayrı ayrı takip edilebilecek kayıt numarası vermek istiyorum. yani örnek olarak YIKAMA için 13.06.2022-Y-000001, 13.06.2022-Y-000002,...000003 diye takip edecek, PARK için ise 13.06.2022-P-000001, 13.06.2022-P-000002,...000003 diye takip edecek. Bu işlem "Frm_AracKayit" üzerinden yapılacak. ben bir kaç defa denedim ama maalesef sıra numarasını arttırmayı başaramadım.  P-Y olarak ayırmadan hep 000001 kayıt numarası verdi.
Yardımcı olabilirseniz sevinirim. Teşekkürler ve herkese sağlıklı günler dilerim.
13/06/2022, 20:06

berduş

Tarih-Y- den sonra her zaman 6 haneli bir sayı mı olacak?
13/06/2022, 20:29

M_Kemal_Askeri

Sayın berduş, 6 haneli olması şart değil, 4 haneli de olabilir. Benim daha önce kullandığım kodda her zaman 6 haneli olduğu için değiştirmedim. Burada günlük sayı olacağı için zaten 6 haneliye ulaşmaz. Aslında 3 de olur 4 de ama tercihim 4'tür.
13/06/2022, 22:59

berduş

aşağıdaki kodu dener misiniz?
If Nz(Me.KayitNu, "") = "" Then
xHrf = Format(Date, "dd.mm.yyyy") & "-Y-"
If Sec = 2 Then xHrf = Format(Date, "dd.mm.yyyy") & "-P-"
xNud = DMax("clng(0 & mid([KayitNu],14))", "Tbl_AracKayit", "[KayitNu] like '" & xHrf & "*'")
Me.KayitNu = xHrf & Format(Nz(xNud, 0) + 1, "0000")
End If
15/06/2022, 19:32

M_Kemal_Askeri

(13/06/2022, 22:59)berduş yazdı: aşağıdaki kodu dener misiniz?
If Nz(Me.KayitNu, "") = "" Then
    xHrf = Format(Date, "dd.mm.yyyy") & "-Y-"
    If Sec = 2 Then xHrf = Format(Date, "dd.mm.yyyy") & "-P-"
    xNud = DMax("clng(0 & mid([KayitNu],14))", "Tbl_AracKayit", "[KayitNu] like '" & xHrf & "*'")
    Me.KayitNu = xHrf & Format(Nz(xNud, 0) + 1, "0000")
End If

Sayın berduş cevabınız için çok teşekkür ederim. Kod çalışıyor "Y" ve "P" için ayrı ayrı birbirini takip eden sıra numarası veriyor. Ancak Sec Seçenek kutusu 2 opsiyonlu 1 ve 2. Yazdığınız kodda 1. opsiyon "Y" için Sec'ten herhangi bir seçenek seçmeme gerek kalmadan yani Sec'i boş bıraksam dahi default olarak "Y" için numara veriyor. Bu da kayıt yapan kişinin hatalı davranması halinde "P" yerine "Y" numarası verilmesine sebep olabilir. Yani normal olarak "P" için ben 2. opsiyonu seçmek zorunda isem, "Y" için de 1. opsiyonu seçmem lazım. 1.opsiyon seçilmeden "Y" vermemesi lazım. Opsiyon seçilmeden kaydedilirse kayıt yapmamalı ve numara vermek yerine hata kodu verse daha iyi olur seçim yapmadınız diye...
Ayrıca en sondaki End If için hata kodu verdi ben de sildim.
15/06/2022, 19:57

berduş

If kullanarak ilgili kosullari sağlayabilirsiniz
Son end if ben de hata vermedi
1 2