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İ
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, 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
Ben de düzenleseydim benzeri olurdu
Uzmanlarımız yorumlarsa ben de kendimi geliştirmiş olurum...
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.