FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

id numarasını her yıl 0001 den nasıl başlatabilirim?

0 oy
456 kez görüntülendi
currentdate  yardımıyla id numarasını her yıl  0001 den nasıl başlatabilirim?

örnek : 2016/001, 2017/001, 2018/001 ... şeklinde.

Cevaplarınız için şimdiden teşekkürler.
27, Haziran, 2016 Scripts kategorisinde mimkaf (2,680 puan) tarafından soruldu

3 Cevaplar

+1 oy
 
En İyi Cevap

Let ( [
maxSer = ExecuteSQL ( "SELECT MAX ( Alan ) FROM DosyaAdı" ; "" ; "" ) ;
yn = Right ( Get ( CurrentDate ) ; 4 ) ;
ySer = Left ( maxSer ; 4 ) ;
incSer = Right ( maxSer ; 4 ) ;
incNew = Case ( ySer = yn ; SerialIncrement ( incSer ; 1 ) ; "0001" )
] ;
yn & "/" & incNew
)

 

Örnek Dosya                  

 

Kaynak: fmforums.com



  

 

Örnek Dosya2 İkinci yöntem bir özel fonksiyon..

27, Haziran, 2016 Şemsi Saracoğlu (133,940 puan) tarafından cevaplandı
13, Ağustos, 2016 Şemsi Saracoğlu tarafından düzenlendi
Let ( [
maxSer = ExecuteSQL ( "SELECT MAX ( Alan ) FROM DosyaAdı" ; "" ; "" ) ;
yn = Right ( Get ( CurrentDate ) ; 4 ) ;
ySer = Left ( maxSer ; 4 ) ;
incSer = Right ( maxSer ; 4 ) ;
incNew = Case ( ySer = yn ; SerialIncrement ( incSer ; 1 ) ; "0001" )
] ;
yn & "/" & incNew
)
Bu förmülü yıl değilde ay olarak değerlendirsek nasıl yapmalıyım ? Örnek ocak ayında 10001 şubat ayında 20001 mart ayında 30001 gibi
0 oy

Şöyle bir şey de yapılabilir;

İki ayrı field yaparsınız;

1. field: Year fieldi olur ve bunu calculation olarak oluşturup, curent date (year) yaparsınız.

2. fieldi: serial number olacak şekilde özelliklerini oluşturur ve 0001 den başlatırsınız.

ID numarası için kullanacağınız fieldi calculation olarak creat edersiniz.

1. field ile ikinci fieldi birleştirerek hesaplatırsınız.

(1. field & "/"& 2. field)

şeklinde, istediğinizi elde edersiniz.

28, Haziran, 2016 oserguvan (12,190 puan) tarafından cevaplandı
28, Haziran, 2016 oserguvan tarafından düzenlendi
Osman bey cevabınız için teşekkürler. Şu anda kullandığım formül sizin belirttiğiniz gibi. Benim istediğim CurrentDate göre her yıl kendisi 0001 den  başlasın istiyorum.
Şemsi beyin cevabı güzel ancak ben FileMaker 11 kullanıyorum, bu programda "ExecuteSQL" fonksiyon hatası veriyor. Muhtemelen ExecuteSQL uyumlu değil.
İlginize teşekkürler. Alternatiflerinizi bekliyorum.
İlk cevaba Custom Function ile yapılan bir örnek ekledim...
Şemsi bey ilginize teşekkürler, maalesef "AnnuallySerial" fonksiyonu da yok filemaker 11 de.
Bu fonksiyonları manuel olarak sonradan ekleyebiliyormuyuz programa (filemaker 11) onu bilmiyorum.
Bu zaten özel bir fonksiyon,Custom Function bölümünden ekleyeceksiniz...Fonksiyonu üreten kişi FM 8 ve sonrasında çalıştığını söylemiş...

Önemli bir not : Bu alanı PK (birincil anahtar) olarak kullanacaksanız zaman içinde bazı hatalar oluşabilir..Mesela bilgisayarların sistem tarihinde bazen hatalar oluşabiliyor,farkedilmezse bu esnada girilen kayıtlar hatalı ID lere sahip olabilir...
0 oy

Bu konuda yardıma ihtiyacı olan varsa aradığımız şey tam olarak burada anlatılıyor.

Kolay gelsin!

12, Ağustos, 2016 İrfan Ahmet PATIR (5,680 puan) tarafından cevaplandı
12, Ağustos, 2016 İrfan Ahmet PATIR tarafından düzenlendi
...