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
						

Hatalı tarihleri nasıl bulurum?

+2 oy
335 kez görüntülendi

Sağlık ocağı yazılımında izin kontrol yapmak istiyorum. Ara sıra programa girip İzin kontrole tıkladığımda aşağıdaki kontrolleri yapmak istiyorum. 

  1. izin başlama tarihi, izin bitiş tarihinden büyük olamaz.
  2. Hatalı girilen tarihler
  3. Boş olan tarihler (izin formunda kayıt varsa tarihler dolu olmalı)
  4. Vs sizinde ekleyeceğiniz kontroller
15, Mart, 2015 Filemaker Advanced kategorisinde Cinci (5,940 puan) tarafından soruldu

2 Cevaplar

0 oy
Hocam cevaplamadan önce şunu söyliyim ara sıra  kontrol çok doğru gelmiyor bana, bazı şeyeleri yakalarsın a çoğunuda kaybedersin.

1- Benim önerim kaydet butonu yapman kaydetin içindeki birini kontrol If ile beraber başlama ≤ bitiş tarihi şeklinde olmalı, bu kontrolü sağlıyorsa script devam etsin değilse show message ile hata versin kullanıcıya.

2-Boş tarih için aynı mantıkla Isempty(başlangıç tarihi) bu aynı zamanda başlangıç tarihi ="" şekinde de olabilir .

3.Burada da sanırım önceden girilmişleri esbit etmeye çalışıcaksın burada bir scriptin içinde bir loop döndürürsen onun içinde de bir if açarsın  başlangıç tarihi="" or bitiş tarihi="" ise goto record next değilse omit record yaparsan iş bitiminde en son aşamada hatalı kayıtlar kalır ekranda.
15, Mart, 2015 DOKTRIN (40,050 puan) tarafından cevaplandı
0 oy

İlk aklıma Script ile kontrol. Script Aşağıdaki Scriptle boş geçilen ve düzgün girilmeyen Tarif formatına uymayan kayıtları bulursunuz.

 

  • Set Capture Error ON
  •  
  • #Comment ["İzin alanlarının boş olup olmadığını sorguluyoruz."]
  • Enter Find Mode () 
  • Set Field [xx::İzin başlama tarihi:"="]
  • New Record/Ruquest
  • Set Field [xx::İzin bitiş tarihi:"="]
  •  
  • #Comment ["İzin tarih alanlarına girilen verilerin Tarih formatı düzgün mü sorguluyoruz."]
  • New Record/Ruquest
  • Set Field [xx::İzin başlama tarihi:"?"]
  • New Record/Ruquest
  • Set Field [xx::İzin bitiş tarihi:"?"]
  •  
  • #Comment ["İlk tarih son tarihten büyük olan yanlış değerleri buluyoruz.Bunun laçışması için databese de İzinKontrol diye bir Calculation alan açıp koduna şunu yazmanız lazım. if (İzin Başlama Tarihi>İzin Bitiş Tarihi;1;0)"]
  • New Record/Ruquest[]
  • Set Field [xx::İzinKontrol:"1]
  •  
  • Perform find[]
15, Mart, 2015 Mehmet KAYA (166,370 puan) tarafından cevaplandı
Arkadaslar gerekli cevaplari vermisler. Boyle durumlarda en mantiklisi olusacak hatalari onlemek. Buda tabii ki veriler girildiginde kayit ederken kontrol ettirmek ve hatali girisleri duzeltilmesini isteyen uyarilari vermekle mumkun.
...