(12/06/2019, 19:56)haliliyas yazdı: en son kendi çalışmamda aşağıdaki kodu denedim çalıştı
strOldID = DMax("Mid([dosyano],4)", "[denetim]") + 1
strNewID = "KYT" & Format(strOldID, "0000")
bunuda bir deneyim
(12/06/2019, 19:56)haliliyas yazdı: en son kendi çalışmamda aşağıdaki kodu denedim çalıştı
strOldID = DMax("Mid([dosyano],4)", "[denetim]") + 1
strNewID = "KYT" & Format(strOldID, "0000")
(13/06/2019, 21:13)halily yazdı: ilerde aynı sorunu yaşayabilecek olan arkadaşlar için çözüm yolunuzu paylaşır mısınız?
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
sonra bu değeri kullanmak istediğim formun Geçerli olduğunda olayına aşağıdaki kodu ekledim;Private Sub Form_Current()
Dim strEskiID As String
Dim lngGecerliNumara As Long
Dim lngSonrakiNumara As Long
Dim strSonrakiNumara As String
Dim strYeniID As String
strEskiID = DLast("Nz([ID],0)", "t_Nakliyeler") + 1 'tablodaki ID alanından son değeri al
lngGecerliNumara = nurmaraAl(strEskiID)
lngSonrakiNumara = lngGecerliNumara + 1
strSonrakiNumara = String(4 - Len(CStr(lngSonrakiNumara)), "0") & CStr(lngSonrakiNumara)
strYeniID = "KYT" & strSonrakiNumara
'
Me.t_islemno = strYeniID ' Formdaki numara üretilen alan
End Sub