(06/04/2020, 14:42)feraz yazdı: Private Sub Tsipno_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next
Dim Hrf As String
Dim hafizayaAl
Dim kacKarakter
Const accessKarakterSayisi = 12
Dim fark, formatAl
hafizayaAl = Tsipno.Value
kacKarakter = Len(hafizayaAl)
fark = accessKarakterSayisi - kacKarakter
Hrf = hafizayaAl
Set baglan = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
baglan.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\veritabani.mdb"
SqlMax = "SELECT Max(Right(Siparis_No," & fark & ")) AS 'Sno' FROM SiparisKayitlari WHERE Siparis_No Like '" & _
Hrf & "%'"
rs.Open SqlMax, baglan, adOpenKeyset, adLockPessimistic
' rs.MoveFirst
gecici = IIf(IsNull(rs(0)), 1, rs(0) + 1)
Select Case fark
Case 11: formatAl = "00000000000"
Case 10: formatAl = "0000000000"
Case 9: formatAl = "000000000"
Case 8: formatAl = "00000000"
Case 7: formatAl = "0000000"
Case 6: formatAl = "000000"
Case 5: formatAl = "00000"
Case 4: formatAl = "0000"
Case 3: formatAl = "000"
Case 2: formatAl = "00"
Case 1: formatAl = "0"
End Select
Tsipno = Hrf & Format(gecici, formatAl)
Hrf = vbNullString
rs.Close
End Sub
Hocam buda farklı bir bakış açısı, textboxtan çıkmak gerekiyor olmasında kaldım, ama değerlendiricem, ben hala neden keypress olmazda kaldım...