AccessTr.neT

Tam Versiyon: Yıl Ve Aya Göre Yeni Sipariş No Verdirmek
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
kolay gelsin arkadaşlar,


23010001

23=YIL
01=AY
0001=2023 yılının Ocak ayında verilmiş olan sipariş sıra numarasıdır, bu kayıt no 23010002, 23010003 diye devam edecek,
ay değiştiğinde de 

örneğin
23020001
23020002
23020003
gibi devam edecek,

eklediğim form üzerinden yardımcı olabilirmisiniz?
tarih bilgisi nereden alınacak? o günkü tarihe göre mi olacak?
evet,mevcut yıl ve aya göre olacak,
Me.Metin0 = Format(Date, "yymm") & Format(DCount("*", "SIPARIS_KAYIT", "left(SIPNO,4)='" & Format(Date, "yymm") & "'") + 1, "0000")
kodunu dener misiniz?
Not: kod düğmenin tıklanma olayına eklenecek
Merhaba,
Bu da başka bir örnek olarak değerlendirebilirsiniz.


Dim YIL, AY, SAYI, SoRgU As String
Dim rS As New ADODB.Recordset

YIL = Right(Date, 2)
AY = Format(Mid(Date, 4, 2), "00")

SAYI = Format(YIL & AY & 11, "0000")

SoRgU = "SELECT Max(SIPARIS_KAYIT.SIPNO) AS SON_SIPARIS_NO, Left([SIPNO],2) AS xYIL, Mid([SIPNO],3,2) AS xAY "
SoRgU = SoRgU & "FROM SIPARIS_KAYIT "
SoRgU = SoRgU & "GROUP BY Left([SIPNO],2), Mid([SIPNO],3,2) "
SoRgU = SoRgU & "HAVING (((Left([SIPNO],2))=" & YIL & ") AND ((Mid([SIPNO],3,2))=" & AY & " )); "
rS.Open SoRgU, CurrentProject.Connection, adOpenKeyset, adLockReadOnly

If rS.EOF = True Then
Me.Metin0 = YIL & AY & Format(1, "0000")
Else
Me.Metin0 = rS!SON_SIPARIS_NO + 1
End If
sağolsun @ozguryasin hocam uyarınca fark ettim, aşağıdaki kod daha doğru gibi
Me.Metin0 = Format(Date, "yymm") & Format(Nz(DMax("mid(SIPNO,5)", "SIPARIS_KAYIT", "left(SIPNO,4)='" & Format(Date, "yymm") & "'"), 0) + 1, "0000")
Sayfalar: 1 2