Yıl Ve Aya Göre Yeni Sipariş No Verdirmek

1 2
04/05/2023, 12:31

adalet20

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?
04/05/2023, 12:34

berduş

tarih bilgisi nereden alınacak? o günkü tarihe göre mi olacak?
04/05/2023, 12:36

adalet20

evet,mevcut yıl ve aya göre olacak,
04/05/2023, 12:39

berduş

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
04/05/2023, 13:08

ozguryasin

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
04/05/2023, 13:19

berduş

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")
1 2