Demekki.yeni olay otomatik sayı almıyor
200418003 sayısı yerine hangisi olması gerek sizce
201418003
200419003
200418004
Benzersiz sayı üretimini takip eden Otomatik sayı alanı değil mi
Alan veri türü o olmadığına göre siz takip edeceksiniz sorular şunlar
*Yeni numara kaç olmalı ?
*Hali hazırda bu numara var mı ?
*Bu yok ama başka tablolarda bunun ile ilişkili kayıt var mı
Bu üç sorudan hangisine cevap buladıysanız onun üzerine odaklanmak lazım
Kod:
Me.txtolay_sıra_no = Format(Date, "yymmdd") & DLookup("yeniolay", "Srg_Olay_Sayisi")
bu kod satırı ile
Access yeni numaranın
200418004
Olması gerektiğini nasıl anlayabilir
Siz ona
tablodaki kaydı tarihin sonuna ekle
Gibi birşeyler diyorsunuz (+1) bile demezseniz o ne yapsın
Kod:
Msgbox DLookup("yeniolay", "Srg_Olay_Sayisi")
bu satır ile 004 sayısını alabiliyor musunuz
ile 7 rakamdan itibaren 11 hane al demek
Eğer 00000 böyle olacak ise
olmalı değil mi
Kod:
Format(Mid([olay_no],7,11)+1,"00000")
satırını kullanarak
Elde edeceksiniz.
Kod:
Format(Mid([olay_no],7,3)+1,"000")
olması gerekmiyor mu
bunun sayı olduğu kesin mi
Kod:
İf(isNumeric(Mid([olay_no],7,3))) Then
Kod:
Dim arti_bir as Integer
arti_bir = Cint(Mid([olay_no],7,3))+1
Falan filan gibi şeyler ile
Elde edebiliyorsanız tarih ile birleştirebilirsiniz
Kod:
SELECT TOP 1 tbl_disiplinolayi.olay_no, Format(Mid([olay_no],7,11)+1,"00000") AS yeniolay, Left([olay_no],6) AS tarih
FROM tbl_disiplinolayi
WHERE (((Left([olay_no],6))=Format(Date(),"yymmdd")))
ORDER BY Format(Mid([olay_no],7,11)+1,"00000") DESC;
bu kod bloğu ile 003 sayısını bulup bir ekleyip 004 elde edip tarihin sonuna ekleyeceksiniz kriteriniz
Kod:
(((Left([olay_no],6))=Format(Date(),"yymmdd")))
değil mi Bunu Dmax ile kullansanız
Kod:
DMax("UnitPrice", "Order Details", "OrderID = 10248")
o zaman
Kod:
DLookup("yeniolay", "Srg_Olay_Sayisi")
bunu kullanmanızada gerek kalmaz
Kod:
dim eski_sayi,yeni_sayi
eski_sayi = iff(isnumeric(dmax(......)), ..... , .....
yeni_sayi = eski_sayi + 1
Me.txtolay_sıra_no = Format(Date, "yymmdd") & yeni_sayi
gibi bir şeyler yazsanız daha kolay olabiilir
ama bana soracak olursanız sen nasıl yapardın diye eğer
200418001
değerini bir yerlerde kanunen zoraki kullanmam gerekmiyorsa
tarihi zaman ile birlikte kullanırdım sadece
Kod:
Me.txtolay_sıra_no = Now
yazardım kafamda rahat olurdu