AccessTr.neT
Müteselsil Sipariş Numarası Verme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Müteselsil Sipariş Numarası Verme (/konu-muteselsil-siparis-numarasi-verme.html)

Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13


Cvp: Müteselsil Sipariş Numarası Verme - berduş - 06/04/2020

(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.


Cvp: Müteselsil Sipariş Numarası Verme - feraz - 06/04/2020

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




Cvp: Müteselsil Sipariş Numarası Verme - berduş - 06/04/2020

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?


Cvp: Müteselsil Sipariş Numarası Verme - kanakan52 - 07/04/2020

(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 Img-grin

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


Cvp: Müteselsil Sipariş Numarası Verme - berduş - 07/04/2020

Kast ettiğim AB, BZE gibi 2-3 harf olabilir mi? Eğer çözüldüyse cevaplanmışlara taşıyalım.


Cvp: Müteselsil Sipariş Numarası Verme - kanakan52 - 07/04/2020

Hocam merhaba,

Hocam kullanır mıyım bilmiyorum, ekstra zahmet vermeyecekse onuda görmek isterim.