(06/04/2020, 15:10)accessman yazdı: O arkadaş bırak demiş peki ben ona ne demişim hemen savunmaya geçip terslemiş miyim
ben savunmaya geçmiyorum ki, kaldı ki siz mesajlaşma panosunda "ingilizcem yeterli degil" dedigimde doğrudan bana "bu kadarcik ingilizce bilmeyen biraksin" dediniz. o zaman ne tersledim sizi ne de sorularınıza cevap yazmayı bıraktım. Uyarım kendim için de değil zaten, soru soran insanların motivasyonunu bozuyorsunuz tavrinizla. Ama tabi ki siz bu cümleyi de alıp katledeceksiniz.
Neyse üstadlarım 3 günlük dünyada üzmeyin birbirinizi.
Alternetif koları ekledim.İstenilen kadar harf girilebilir.select casede belki hata olabilir format iiçin.
Kod:
Private Sub Tsipno_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
Dim Hrf As String
Dim hafizayaAl, i As Integer
Dim kacKarakter, rakam
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 Siparis_No FROM SiparisKayitlari WHERE left(Siparis_No," & Len(hafizayaAl) & ") = '" & _
hafizayaAl & "' and IsNumeric(right(Siparis_No, " & fark & "))group by Siparis_No order by Siparis_No desc"
rs.Open SqlMax, baglan, 1, 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
If rs.RecordCount > 0 Then
For i = 1 To Len(rs(0))
If Mid(rs(0), i, 1) > 0 And IsNumeric(Mid(rs(0), i, 1)) Then
rakam = rakam & Mid(rs(0), i, 1)
End If
Next
gecici = IIf(IsNull(rs(0)), 1, rakam + 1)
Tsipno = Hrf & Format(gecici, formatAl)
Else
gecici = IIf(IsNull(rs(0)), 1, rakam + 1)
Tsipno = Hrf & Format(gecici, formatAl)
End If
Hrf = vbNullString
rs.Close
baglan.Close
Set rs = Nothing
Set baglan = Nothing
End Sub
Sayin @
kanakan52
1 - harf sayısı sabit mi değişken mi?
2 - rakam sayısı sabit mi?
3 - harf + rakam sayısı sabit mi?
(06/04/2020, 16:56)berduş yazdı: Sayin @kanakan52
1 - harf sayısı sabit mi değişken mi?
2 - rakam sayısı sabit mi?
3 - harf + rakam sayısı sabit mi?
Hocam selamlar,
Çözdük ya sorunu
Yine de cevap vereyim,
Harf sayısı değişken, A olur Y olur X olur, ben karar vericem,
Sayı değişken şöyle ki
A ya basarsam veritabanındaki A ile başlayan serinin sonunun +1 ini getirecek
X e basarsam veritabanındaki X ile başlayan serinin sonunun +1 ini getirecek
Kast ettiğim AB, BZE gibi 2-3 harf olabilir mi? Eğer çözüldüyse cevaplanmışlara taşıyalım.
Hocam merhaba,
Hocam kullanır mıyım bilmiyorum, ekstra zahmet vermeyecekse onuda görmek isterim.