Skip to main content

AccessTr.neT M.


Metin Ve Rakamlardan Seri Numarası Üretme

Metin Ve Rakamlardan Seri Numarası Üretme

Çözüldü #1
Son Düzenleme: 12/06/2019, 18:43, Düzenleyen: Yunus Bozkurt.
Şö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

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
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ı

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

  • En tehlikeli kelime ama’dır. Önceden söylenen her söylemi veya kelimeyi öldürür! Mesela, seni seviyorum ama gibi…
Cevapla
#2
strOldID =dmax("Cint(mid([ID],4))") +1
strNewID = "KYT" & format(strOldID ,"0000")

gibi bir kodu deneseniz?

Cevapla
...........
#3
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")

  • En tehlikeli kelime ama’dır. Önceden söylenen her söylemi veya kelimeyi öldürür! Mesela, seni seviyorum ama gibi…
Cevapla
#4
çalışmanızı ekleyin inceleyelim.

Cevapla
...........
#5
en son kendi çalışmamda aşağıdaki kodu denedim çalıştı

Visual Basic Code
strOldID = DMax("Mid([dosyano],4)", "[denetim]") + 1
    strNewID = "KYT" & Format(strOldID, "0000")

Cevapla
#6

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


bu şekilde type mismatch hatası veriyor


Visual Basic Code
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

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

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

  • En tehlikeli kelime ama’dır. Önceden söylenen her söylemi veya kelimeyi öldürür! Mesela, seni seviyorum ama gibi…
Cevapla
...........

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da