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
						

Filemaker 13 te bir hata buldum sanki kontrol eder misiniz?

+1 oy
891 kez görüntülendi
Database Field özelliklerinde özelliklerinde "Filed/Options/Validation/Validation by Calculation" galiba hatalı çalışıyor.

 

Örnek: GSM numarasına 10 karakterden daha küçük bir değer girince uyarı vermeli.

GSM filed ının Validation by Calculation özelliğine  "Length ( Gsm )  ≤  10"  yazında ters çalışıyor : ) 10 karakterden fazla olanlara uyarı veriyor :) Evraka Evraka.... Filemakerin BUG ını buldum....
26, Mart, 2015 Tip and Tricks kategorisinde Mehmetblg (42,320 puan) tarafından soruldu

8 Cevaplar

0 oy
 
En İyi Cevap

Tekrar cevap veriyorum, "Length ( Gsm )  ≤  10" yazdığınızda bu alanın karakter uzunluğu 10 veya 10'dan küçüktür diyorsunuz. Sağlama sonucu hata verdiğinde ise uyarı verdirtiyorsunuz. 

10 veya 10'dan küçük olduğunda hata ver demek değildir.

27, Mart, 2015 Recep Güney (69,500 puan) tarafından cevaplandı
30, Mart, 2015 Recep Güney tarafından seçilmiş
Recep bey, validate calculation mantıksal bir sonuç olmalı diyor.
Evet. Bizim sonucumuz da öyle değil mi?
İlgili koşul sağlanıyor mu?
0= Hayır=Revert et
1= Evet=Kabul et
Aynen Gsm=Length ( Gsm )  ≤  10 dediğimizde Gsm alanı 10 ve 10dan küçüktür diyoruz. Yani case veya if koşulunu koymalıyız :)
Bence Case veya If'e gerek yok.
Opsiyonun kendisi bir sorgu. Biz sadece sorgunun test kısmını calculation olarak giriyoruz.

O da sonuca göre girilen dataya izin veriyor ya da vermiyor...
O zaman noktayı şöyle koyalım. Validate calculation içerisine Length ( Gsm ) = 10 kodlarını yazdığımızda Gsm alanındaki karekter uzunluğunun 10 karakter olduğunu tanımlamış oluruz bunun dışındaki durumlar içinde uyarı ver demiş oluruz. Mehmet Bey'in bahsetmiş olduğu konu böylelikle sonuçlanmış ve filemaker aklanmış olur :) Teşekkürler Recep bey.
filemaker candır can.Kim dedi hata var diye.
ey admin duy bu sesleri :P
+1 oy
Alan türü text ise yapar :) 10 harfi olarak algılar. Bahsettiğiniz durumlar textlerde olur. Kontrol edin.
26, Mart, 2015 Goksel_Gokce (96,900 puan) tarafından cevaplandı
0 oy
Length ( Text )

Amacı
Alan içerisindeki karakterlerin sayısını verir. Boşluk, sayı, metin ve özel karakterlerin hepsini sayar.
Returns the number of characters in field, including all spaces, numbers, and special characters.

 
Format
Length(field)
 
Parametreler
Alan - metin, sayı, tarih, saat, saat ve dakika, yada conrainer alan yada herhangi bir metin expression yada Rakamsal expression :)
field - any text, number, date, time, timestamp, or container field, or any text expression or numeric expression

Dönderdiği değer
Sayı

FileMaker Pro 6.0 oyada öncesinde getirilen bir özellik

Açıklama
Bu özellik alan içerisindeki karakterlerini sayar ve sayısını size verir.
This function returns the number of characters in a specified field. For a container field, Length returns the size of the original file in bytes.

 
Örnekler.
Length(“John”) returns 4.
Length(Description) returns 12 when the value in Description is Modem for PC.
Length(“M1” & Left(Product;5)) returns 7, when the Product field contains Canvas Backpack.
26, Mart, 2015 Mehmetblg (42,320 puan) tarafından cevaplandı
Karşılaştırma durumlarında text türünde alan ise bahsettiğiniz sorun oluyor. Çok başıma geldi. Örn dosyayı gönderin inceleyeyim. Akşama bakarım. Toplama ve çıkarma işlemlerinde fazla sorun olmuyor ama iş kıyaslamaya gelince bu sorun oluşuyor.
Dosya isyerinde gidince gondereyim insallah
+1 oy
Bahsettiğiniz uygulamayı TC kimlik no alanı için uygulamıştım ve çalışıyor. Şu an uygulama yanımda değil yarın size örneğini gönderirim. Hemende filemaker'ı karalamayın canım :D
26, Mart, 2015 mkanlioglu (62,630 puan) tarafından cevaplandı
Filemaker candır :)
+1 oy
Length tanimladiginiz alandaki karakterleri dogru sayar. Ama validation de bir sıkıntı var gibi.  Buyuk kucuk kontrolu tam tersi calisiyor gibi yada mantigini biz ters anliyoruz.
27, Mart, 2015 Mehmet KAYA (165,360 puan) tarafından cevaplandı
Mehmet Kaya beyin dediği gibi, formülasyonunuzda GSM alanı 10 veya 10'dan küçük olmalı diyorsunuz.

Ama siz 10 veya 10'da küçük olmamalı yapmak istiyorsunuz.
+1 oy

Merhaba Arkadaşlar bahsettiğin işlem için yapılmış validate önreği aşağıdadır. Kontrol edin ve tekrar konuşuruz.

Örneği indirmek için tıklayınız.

27, Mart, 2015 mkanlioglu (62,630 puan) tarafından cevaplandı
elinize sağlık.İstediğimiz sonuç tam olarak bu.
Fakat problem bunu yapamamakta değil. büyük ve küçük işaretlerinin ters çalışmasında :)
Küçük büyük işaretleri ters çalışmıyor.
0 oy

aşağıdaki örneği inceleyebilirsiniz.

27, Mart, 2015 Mehmetblg (42,320 puan) tarafından cevaplandı
+1 oy

İşte kanıt :)

Arkadaşlar dikkat ederseniz Validate by calculation hesaplamasında mantıksal bir sonuç olması lazım diyor (Calculation result must be Boolean) yani 1 veya 0 olacak dolayısıyla orada bir koşul çalıştırmamız gerekiyor. Doğru yöntem budur.

27, Mart, 2015 mkanlioglu (62,630 puan) tarafından cevaplandı
Length Bosluklari bile sayarim diyor.dolayisiyla matematisel olarak nasil mantikli sonuc cikabilir ki :) alani number ve text olarak degistirdik sonuc yine degismedi.yani soruyu soyle tekrar soralim.buyuk ve kucuk neden ters calisiyor ? Denedik :p
Text kalmalı zaten ama kritik nokta bir if veya case ile koşula tabi tutarak sonucu mantıksal yani 1 veya 0 olarak yazdırmak lazım bu şekilde denediniz mi ?
yok denemedik.biz yapmak istediğimiz kısıtlamayı yaptık orada sıkıntı yok :)
...