Her Yıl Otomatik Değişen Sipariş Kodu Oluşturma

01/06/2022, 14:47

alikagan

kolay gelsin arkadaşlar, 
siparis_kodu_tablosu'ndaki siparis_kodu alanına
SP=SİPARİŞ
21=2021

SP-21-9' dan sonra 2022 yılına geçtiğim için
sıradaki numaralar otomatik verdirilebilir mi?

SP-22-1
SP-22-2
SP-22-3 GİBİ

2023 E GEÇİNCE DE
SP-23-1
SP-23-2 GİBİ
01/06/2022, 16:58

mozuer

Umarım işinizi görür...

Private Sub btn_sip_kodu_olustur_Click()

Dim lstVal As Variant
Dim sipVal As Integer
Dim lstKod As String, sipKod As String

lstKod = DLast("[siparis_kodu]", "siparis_kodu_tablosu")
lstVal = Right(lstKod, 1)

If lstVal = 9 Then sipVal = 1 Else sipVal = lstVal + 1

sipKod = "SP-" & Format(Date, "yy") & "-" & sipVal

Me.sip_kodu = sipKod

End Sub
01/06/2022, 20:46

alikagan

(01/06/2022, 16:58)mozuer yazdı: Umarım işinizi görür...

Private Sub btn_sip_kodu_olustur_Click()

Dim lstVal As Variant
Dim sipVal As Integer
Dim lstKod As String, sipKod As String

lstKod = DLast("[siparis_kodu]", "siparis_kodu_tablosu")
lstVal = Right(lstKod, 1)

If lstVal = 9 Then sipVal = 1 Else sipVal = lstVal + 1

sipKod = "SP-" & Format(Date, "yy") & "-" & sipVal

Me.sip_kodu = sipKod

End Sub

sn mouzer, ilgilendiğiniz için teşekkür ederim,

sp-21-9'dan sonra yani 9 dan sonra 1 e dönmemesi lazım, aslında ardışık olarak devam etmesi gerekiyor. benim eklediklerim örnekti.
aşağıdaki şekilde düzenleme yaptım, 
kodu kısaltmanın bir imkanı varmıdır acaba?
Private Sub btn_sip_kodu_olustur_Click()
lstKod = DLast("[siparis_kodu]", "siparis_kodu_tablosu")
lstVal = Mid(lstKod, 7)
If Format(Date, "yy") <> Mid(lstKod, 4, 2) Then
tarih = Format(Date, "yy")
lstVal = 1
sipKod = "SP-" & tarih & "-" & lstVal
Me.sip_kodu = sipKod
Else
sipKod = "SP-" & Format(Date, "yy") & "-" & lstVal + 1
Me.sip_kodu = sipKod
End If
End Sub
02/06/2022, 13:25

mozuer

Ben de düzenleseydim benzeri olurdu
Uzmanlarımız yorumlarsa ben de kendimi geliştirmiş olurum...
02/06/2022, 20:33

atoykan

En fazla tanımladığınız değişkenler yerine doğrudan sorguları kullanabilirsiniz ancak gereksiz. Hız açısından kayda değer fark yaratacak bir yaklaşım değil. Kodlarınız ile bir başkasının çalışması gerekecek olursa da değişkenler üzerinden çalışmak daha anlaşılır olmasını sağlar.