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?
Kayıt Numarası
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,
Kaydet butonundaki
Kodunu sil.
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,
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
Me.txtKayitNo = FirmaTipId & yil & "-" & ay & Format(KayitSayi, "0####")
Kodunu sil.
(23/05/2018, 16:27)ozanakkaya yazdı: Sayın sidd,Çok teşekkürler Ozan Bey, emeğinize vaktinize sağlık.
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,
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
Me.txtKayitNo = FirmaTipId & yil & "-" & ay & Format(KayitSayi, "0####")
Kodunu sil.
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.
(23/05/2018, 16:52)sidd yazdı:(23/05/2018, 16:27)ozanakkaya yazdı: Sayın sidd,Çok teşekkürler Ozan Bey, emeğinize vaktinize sağlık.
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,
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
Me.txtKayitNo = FirmaTipId & yil & "-" & ay & Format(KayitSayi, "0####")
Kodunu sil.
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.
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.
Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter.
Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Örneğinizin düzenlenmiş hali ektedir, inceleyip olumlu-olumsuz bildirimde bulununuz.
Konuyu Okuyanlar: 2 Ziyaretçi