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
						

Kayıtları import ederken ID'nin değişmesini nasıl engelleriz?

0 oy
561 kez görüntülendi
Filemaker dosyasını çoğaltıp 2.sini oluşturdum. 2.dosyaya kayıt giriyorum ID fieldini  calculation dan Get(UUID) şeklinde otomatik aldırıyordum.

Sorun şu:

1.dosyaya 2.dosyadaki kayıtları import   ederken ID kısmının aynısı gelmiyor. 1.dosya yeniden ID oluşturuyor. Bunun çözümü nedir?
20, Ekim, 2015 Scripts kategorisinde mcatal (6,890 puan) tarafından soruldu

3 Cevaplar

+2 oy
Import Mapping (alan eşleme) penceresinden "Import" düğmesi ile çıkarken  "Perform auto enter options" seçeneğinin seçili olmamasına dikkat edin.
20, Ekim, 2015 F. Osman Cabi (200,340 puan) tarafından cevaplandı
Üstad, perform Auto enter seçeneği seçili değil ama buna rağmen 2.dosyanın Id si 1.dosyadaki Id kısmına aynıyla gelmedi. 2 dosyada birbirinin aynısı acaba 1.dosyanın Idsinin de otomatik olması mı problem?
0 oy
2. dosyanızdaki ID fieldlarını import işlemi öncesinde calculation özelliğini iptal edin. Import işleminden sonra tekrar etkinleştirebilirsiniz.

Not: Ben Primary Key'er için UUID yerine rakam kullanmaktayım. Bu ayrıca ilişkiler arası büyük veya küçük kullanabilme imkanı sağlamakta.
20, Ekim, 2015 Recep Güney (70,020 puan) tarafından cevaplandı
Bunu bir işletmenin kullanacağını düşünürsek işletme bu calculation seçeceğini  değiştiremez. Başka bir çözüm varmı acaba? Id leri çakıştırıyorum, eğer Idler aynı ise import etmeyeceğim değilse edeceğim. İşletme de 5kişiye dağıtılacağını düşünürsek  serial id olsa aynı seri numaraları gelme ihtimali var bu nedenle UUID tercih ettim.
Her bir dosyanın id'sini mesela 10000'er farkla başlatabilirsiniz.
0'dan 10000'e bir kullanıcı 10001'den 20000'e diğer kullancı gibi...

Ama daha önce dediğim gibi ben olsam kullanıcı login name'ine göre bir çözüm geliştirmeyi tercih ederdim.
Teşekkürler hocam cevaplarınız için. En uygun olanı kullanacağım biraz farklılıkları deneyeyim. Kolay gelsin
Calculation'ı global variable ile iptal edebilirsiniz. Mesela

If ( $$import_islemi = "aktif" ; self ; GetGUID.. ) gibi

Bu arada calculation derken alan tipi text, auto enter calculation kullanıyorsunuz dimi?

Alan tipi calculation ise ciddi sıkıntı, import etmeden de ID'ler değişebilir.
Hocam Database manager da Id alanı oluştururken text değilde direkt calculation seçerek uuid oluşturuyordum. Tipini Text seçerek option bölümünden calculation kısmından UUID almam gerekiyor sanırım orada hata yapıyorum doğru değilmi
0 oy

Osman hocam yaptığım hatayınsayenizde farkettim teşekkürler. Alan tipini calculation yaparak UUID aldırıyormuşum farkettim. Alan tipini Text yaptım Option dan calculation kısmını kullanarak UUID aldırdım. problem çözüldü Hepinize teşekkür ediyorum. Saygılar...

20, Ekim, 2015 mcatal (6,890 puan) tarafından cevaplandı
...