AccessTr.neT
Yıl Ve Aya Göre Yeni Sipariş No Verdirmek - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Yıl Ve Aya Göre Yeni Sipariş No Verdirmek (/konu-yil-ve-aya-gore-yeni-siparis-no-verdirmek.html)

Sayfalar: 1 2


Yıl Ve Aya Göre Yeni Sipariş No Verdirmek - adalet20 - 04/05/2023

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?


RE: Yıl Ve Aya Göre Yeni Sipariş No Verdirmek - berduş - 04/05/2023

tarih bilgisi nereden alınacak? o günkü tarihe göre mi olacak?


RE: Yıl Ve Aya Göre Yeni Sipariş No Verdirmek - adalet20 - 04/05/2023

evet,mevcut yıl ve aya göre olacak,


RE: Yıl Ve Aya Göre Yeni Sipariş No Verdirmek - berduş - 04/05/2023

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


Re: Yıl Ve Aya Göre Yeni Sipariş No Verdirmek - ozguryasin - 04/05/2023

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



RE: Yıl Ve Aya Göre Yeni Sipariş No Verdirmek - berduş - 04/05/2023

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