AccessTr.neT
Metin Ve Rakamlardan Seri Numarası Üretme - 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ığı: Metin Ve Rakamlardan Seri Numarası Üretme (/konu-metin-ve-rakamlardan-seri-numarasi-uretme.html)

Sayfalar: 1 2


Metin Ve Rakamlardan Seri Numarası Üretme - Yunus Bozkurt - 12/06/2019

Şöyle bir şey yaptım ama "Invalid use of null " hatası alıyorum  aşağıdaki kodda yanlışlık var mı?

KYT0002 diye artarak  kayıt üretmesi lazım daha doğrusu tablonun en son kaytında ID alanında değer yoksa hata veriyor.

module

Function nurmaraAl(yb As String) As String
   Dim donenDeger As String
   Dim i As Integer
   donenDeger = ""
   For i = 1 To Len(yb)
       If Mid(yb, i, 1) >= "0" And Mid(yb, i, 1) <= "9" Then
           donenDeger = donenDeger + Mid(yb, i, 1)
       End If
   Next
nurmaraAl = donenDeger
End Function


form olayı

Private Sub Form_Current()
Dim strOldID As String
   Dim lngCurrentNumber As Long
   Dim lngNextNumber As Long
   Dim strNextNumber As String
   Dim strNewID As String
   
   strOldID = DLast("[ID]", "t_Nakliyeler") 'tabloda ID Alanı boş değil
     
   lngCurrentNumber = nurmaraAl(strOldID)
   lngNextNumber = lngCurrentNumber + 1
   strNextNumber = String(4 - Len(CStr(lngNextNumber)), "0") & CStr(lngNextNumber)
   strNewID = "KYT" & strNextNumber
   Me.t_islemno = strNewID

End Sub



Cvp: Metin Ve Rakamlardan Seri Numarası Üretme - berduş - 12/06/2019

strOldID =dmax("Cint(mid([ID],4))") +1
strNewID = "KYT" & format(strOldID ,"0000")

gibi bir kodu deneseniz?


Cvp: Metin Ve Rakamlardan Seri Numarası Üretme - Yunus Bozkurt - 12/06/2019

Aynı hatayı türkçe veriyor bu sefer "Geçersiz Boş kullanımı"

  strOldID = DMax("Cint(Mid([ID],4))", "t_Nakliyeler") + 1

    strNewID = "KYT" & Format(strOldID, "0000")


Cvp: Metin Ve Rakamlardan Seri Numarası Üretme - berduş - 12/06/2019

çalışmanızı ekleyin inceleyelim.


Cvp: Metin Ve Rakamlardan Seri Numarası Üretme - berduş - 12/06/2019

en son kendi çalışmamda aşağıdaki kodu denedim çalıştı
strOldID = DMax("Mid([dosyano],4)", "[denetim]") + 1
strNewID = "KYT" & Format(strOldID, "0000")



Cvp: Metin Ve Rakamlardan Seri Numarası Üretme - Yunus Bozkurt - 12/06/2019

 strNewID = "KYT" & Format(strOldID, "0000")
   strOldID = DMax("Nz([ID],0)", "t_Nakliyeler") + 1
   Debug.Print

bu şekilde type mismatch hatası veriyor


strNewID = "KYT" & Format(strOldID, "0000")
   strOldID = DLast("Nz([ID],0)", "t_Nakliyeler") + 1
   Debug.Print

bu şelikde sadece KYT üretiyor numara vermiyor

bendeki  ilk kodu şu şekilde değiştirdim

strOldID = DLast("[ID],0", "t_Nakliyeler") + 1

strOldID = DLast("Nz([ID],0)", "t_Nakliyeler") + 1 'yenisi