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