(02/07/2015, 18:57)ozanakkaya yazdı: Standart No: G-Kalıp-6-3017
yazmışsınız, veri sayısı artınca, 5 haneli sayıya gereksinim duyma ihtimali varmı bilmiyorum, örnek uygulamanızı düzenledim, inceleyip olumlu/olumsuz bildirimde bulununuz.
Sub SiraNoHesapla()
Dim STuru, SKlasoru As String
Dim SSonNo, SSnifi As Integer
If Me.std_türü = "İş Standardı" Then
STuru = "G-"
ElseIf std_türü = "Video Standardı" Then
STuru = "V-"
ElseIf std_türü = "İşletme Talimatı" Then
STuru = "KE-"
End If
Select Case Me.std_klasörü
Case "01-Kalıp Değişme"
SKlasoru = "Kalıp-1"
Case "02-Kalıp Hazırlama"
SKlasoru = "Kalıp-2"
Case "03-Torba Değişme"
SKlasoru = "Kalıp-3"
Case "04-Torba Hazırlama"
SKlasoru = "Kalıp-4"
Case "05-Kalıp Bakım"
SKlasoru = "Kalıp-5"
Case "06-Kalıp Temizleme"
SKlasoru = "Kalıp-6"
Case "07-Ekipman Bakım"
SKlasoru = "Kalıp-7"
Case "08-Ofis ve Yönetim"
SKlasoru = "Kalıp-8"
Case "09-Genel"
SKlasoru = "Kalıp-9"
End Select
SSnifi = Nz(Left(Me.std_sinifi, 1), 0)
Me.Metin41 = STuru & SKlasoru & "-" & SSnifi
SSonNo = Nz(DMax("[son_no]", "srg_siranobul"), 0) + 1
SSonNo = Format(SSonNo, "0000")
If Not IsNull(Me.std_türü) And Not IsNull(Me.std_klasörü) And Not IsNull(std_sinifi) Then
Me.std_no = STuru & SKlasoru & "-" & SSonNo
End If
End Sub
Sn. ozanakkaya,
Öncelikle ellerinize sağlık. Çok güzel olmuş. 5 basamaklı sayıya ihtiyaç duymuyor sistem. Sadece bir kaç noktada düzeltme isteyeceğim.
Açılan kutulardan seçilene göre daha önce hiç bir kayıt yoksa, sondaki 4 basamaklı "0001"den başlıyor. Aslında açılan kutudan seçilen std_sinifi numarasına göre başlaması lazım. Yani "6-3S" seçildiyse ve daha önce hiçbir kayıt yoksa 6001'den başlaması lazım.
Bir de standart adlandırma sistematiği hepsinde "İş Standardı"nda olduğu gibi değil.
std_türü: "Video standardı" seçilirse "V-Kalıp-" ve devamında "Standart klasörü"nden seçilene göre de (misal 2-Kalıp Hazırlama olsun) "V-Kalıp-2001" oluyor. Yani video standartlarının adlandırmasında std_sınıfı'nı eklemiyoruz. (5 basamaklı olma ihtimali yok)
İşletme talimatı seçilirse; sadece başlangıcı "KE-" oluyor ve KE-001" den başlayıp devamında ardışık olarak artmaya devam ediyor. (4 basamaklı olma ihtimali yok)
İlk kısımdaki "0001'den başlama" problemden sonrası, sizi çok uğraştıracak bir düzeltme ise ben halletmeye çalışırım. (Muhtemelen beni daha daha çok uğraştıracak ve içinden çıkamayacağım )
Tekrardan çok teşekkürler...