Skip to main content

AccessTr.neT


Kayıt Numarası

Kayıt Numarası

Çözüldü #1
Merhaba;

kayıt numarasını toplam kayıt sayısını bulup, üzerine +1 ekleyerek KayitNo bolumune giriş yapıyorum.

fakat benim istediğim KayıtNo bolumundeki en son kayıt numarasına (LKMS18-0500024) +1 ekleyip , yeni kayıt numarası verdirmek.
yani demek istediğim aradan herhangi bir kayıt silindiğinde , yeni kayıt numarası bundan etkilenmeden son kayıt numarasına göre devam etmesi.

nasıl yapabiliriz?
.rar DENEME-A.rar (Dosya Boyutu: 61,69 KB | İndirme Sayısı: 5)
Cevapla
#2
Sayın sidd, 

Sorunuza çözüm bulmak adına hazırladığım kod için yaklaşık 30 dakika uğraştım.
Lütfen sizde uğraşıp örnek uygulamanızdaki verileri copy-paste yaparak hazırlamayın, örnek uygulamanızdaki veriler tutarlı olsun, atanacak sayı birbirinden farklı olmalı ancak örnek uygulamanızda aynı kayıt no birden fazla defa kullanılmış.


cboFirmaTipi açılan kutusunun güncelleştirme sonrasında olayına aşağıdaki kodu ekle,

Visual Basic Code
Dim SQL1 As String
Dim rs As Recordset
Dim GKayit, GDizi, GSayi As Integer
Dim GKFirmaTipi, GSonSayimiz As String
                         
SQL1 = "SELECT KayitNo, FirmaTipi, Left([KayitNo],InStr(1,[KayitNo],'-')-1) AS GFir, Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000') AS GKNo FROM tblKayitlar GROUP BY KayitNo, FirmaTipi, Left([KayitNo],InStr(1,[KayitNo],'-')-1), Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000') ORDER BY Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000');"
                  
Set rs = CurrentDb.OpenRecordset(SQL1)

If rs.RecordCount > 0 Then

    Do Until rs.EOF = True
    
        If rs!FirmaTipi = Me.cboFirmaTipi Then
        GSonSayimiz = rs!GKNo
        End If
    rs.MoveNext
    Loop
    
Else

GSonSayimiz = 0

End If

 Select Case Me.cboFirmaTipi
    
        Case 1
            GKFirmaTipi = "LKMS"
        Case 2
            GKFirmaTipi = "YBMS"
        Case 3
            GKFirmaTipi = "ACNT"
    
    End Select

Me.txtKayitNo = GKFirmaTipi & Mid(Year(Date), 3, 2) & "-" & Format(GSonSayimiz + 1, "0000000")


Kaydet butonundaki

Visual Basic Code
Me.txtKayitNo = FirmaTipId & yil & "-" & ay & Format(KayitSayi, "0####")

Kodunu sil.
Cevapla
#3
(23/05/2018 16:27)ozanakkaya Adlı Kullanıcıdan Alıntı: Sayın sidd, 

Sorunuza çözüm bulmak adına hazırladığım kod için yaklaşık 30 dakika uğraştım.
Lütfen sizde uğraşıp örnek uygulamanızdaki verileri copy-paste yaparak hazırlamayın, örnek uygulamanızdaki veriler tutarlı olsun, atanacak sayı birbirinden farklı olmalı ancak örnek uygulamanızda aynı kayıt no birden fazla defa kullanılmış.


cboFirmaTipi açılan kutusunun güncelleştirme sonrasında olayına aşağıdaki kodu ekle,

Visual Basic Code
Dim SQL1 As String
Dim rs As Recordset
Dim GKayit, GDizi, GSayi As Integer
Dim GKFirmaTipi, GSonSayimiz As String
                         
SQL1 = "SELECT KayitNo, FirmaTipi, Left([KayitNo],InStr(1,[KayitNo],'-')-1) AS GFir, Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000') AS GKNo FROM tblKayitlar GROUP BY KayitNo, FirmaTipi, Left([KayitNo],InStr(1,[KayitNo],'-')-1), Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000') ORDER BY Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000');"
                  
Set rs = CurrentDb.OpenRecordset(SQL1)

If rs.RecordCount > 0 Then

    Do Until rs.EOF = True
    
        If rs!FirmaTipi = Me.cboFirmaTipi Then
        GSonSayimiz = rs!GKNo
        End If
    rs.MoveNext
    Loop
    
Else

GSonSayimiz = 0

End If

 Select Case Me.cboFirmaTipi
    
        Case 1
            GKFirmaTipi = "LKMS"
        Case 2
            GKFirmaTipi = "YBMS"
        Case 3
            GKFirmaTipi = "ACNT"
    
    End Select

Me.txtKayitNo = GKFirmaTipi & Mid(Year(Date), 3, 2) & "-" & Format(GSonSayimiz + 1, "0000000")


Kaydet butonundaki

Visual Basic Code
Me.txtKayitNo = FirmaTipId & yil & "-" & ay & Format(KayitSayi, "0####")

Kodunu sil.
Çok teşekkürler Ozan Bey, emeğinize vaktinize sağlık.
haklısınız ogrenmek için gelişigüzel yazılmıs bir örnekti, numaraları sırasıyla düzenledim.
verdiğiniz kodlar işe yaradı, tekrar çok teşekkürler.
Cevapla
#4
(23/05/2018 16:52)sidd Adlı Kullanıcıdan Alıntı:
(23/05/2018 16:27)ozanakkaya Adlı Kullanıcıdan Alıntı: Sayın sidd, 

Sorunuza çözüm bulmak adına hazırladığım kod için yaklaşık 30 dakika uğraştım.
Lütfen sizde uğraşıp örnek uygulamanızdaki verileri copy-paste yaparak hazırlamayın, örnek uygulamanızdaki veriler tutarlı olsun, atanacak sayı birbirinden farklı olmalı ancak örnek uygulamanızda aynı kayıt no birden fazla defa kullanılmış.


cboFirmaTipi açılan kutusunun güncelleştirme sonrasında olayına aşağıdaki kodu ekle,

Visual Basic Code
Dim SQL1 As String
Dim rs As Recordset
Dim GKayit, GDizi, GSayi As Integer
Dim GKFirmaTipi, GSonSayimiz As String
                         
SQL1 = "SELECT KayitNo, FirmaTipi, Left([KayitNo],InStr(1,[KayitNo],'-')-1) AS GFir, Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000') AS GKNo FROM tblKayitlar GROUP BY KayitNo, FirmaTipi, Left([KayitNo],InStr(1,[KayitNo],'-')-1), Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000') ORDER BY Format(Mid([KayitNo],InStr(1,[KayitNo],'-')+1),'0000000');"
                  
Set rs = CurrentDb.OpenRecordset(SQL1)

If rs.RecordCount > 0 Then

    Do Until rs.EOF = True
    
        If rs!FirmaTipi = Me.cboFirmaTipi Then
        GSonSayimiz = rs!GKNo
        End If
    rs.MoveNext
    Loop
    
Else

GSonSayimiz = 0

End If

 Select Case Me.cboFirmaTipi
    
        Case 1
            GKFirmaTipi = "LKMS"
        Case 2
            GKFirmaTipi = "YBMS"
        Case 3
            GKFirmaTipi = "ACNT"
    
    End Select

Me.txtKayitNo = GKFirmaTipi & Mid(Year(Date), 3, 2) & "-" & Format(GSonSayimiz + 1, "0000000")


Kaydet butonundaki

Visual Basic Code
Me.txtKayitNo = FirmaTipId & yil & "-" & ay & Format(KayitSayi, "0####")

Kodunu sil.
Çok teşekkürler Ozan Bey, emeğinize vaktinize sağlık.
haklısınız ogrenmek için gelişigüzel yazılmıs bir örnekti, numaraları sırasıyla düzenledim.
verdiğiniz kodlar işe yaradı, tekrar çok teşekkürler.

Ozan Bey, numalarndırma ACNT da farklı, LKMS de farklı, YBMS de farklı oluyor, orneğin 5 tane ACNT varsa, yeni kayıda 6 noyu veriyor,  10 tane LKMS varsa, yeni kayıda 11 noyu veriyor , ben genel olarak son rakamı vermesini istiyorum.
yani toplam 24 kayıt varsa, 25.noyu versin, hangi kodla basladığı onemli olmasın, onu nasıl yaparız.
Cevapla
#5
birde eklenen örneklere, örnek, deneme, deneme1, deneme2, denem son, deneme önceki  gibi kelimeler yazmak yerine, konunun içeri ile alakalı birşeyler yazılsa daha iyi olur. mesela örneğinizin ismi de kayıt numarası olabilirdi,
POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla
#6
Örneğinizin düzenlenmiş hali ektedir, inceleyip olumlu-olumsuz bildirimde bulununuz.
.rar sonkayit-.rar (Dosya Boyutu: 60,73 KB | İndirme Sayısı: 20)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da