FilemakerTurk, AYS Bilişim ve Beyaz.net tarafından desteklenmektedir.
Filemakerturk.com a Hoş geldiniz. Mehmet KAYA 0532 231 07 27
Filemaker Lisans İhtiyacınız için FilemakerTürk Yönetimi ile iletişime geçin
 
Alakalı Siteler:

AYS Bilişim


Cabitaş


FMK Solutions | Maatwerk Applicaties
 

Scripti Bekletme ve Field'i Değişkene Nasıl Alırız?

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

Merhaba

Bir hücreye girdiğimde script çalışmaya başlayacak. hücrede değişikliği yapıp çıkarken script çalışmaya devam edecek. Bunu tek scriptle yapmamız gerekecek.

Diğeri

Script adımlarında, girdiğim hücrenin adını değişkene alacak, go to field le  değişkendeki hücreye gidecek

bunlar yapılabilirmi?

17, Haziran, 17 Scripts kategorisinde Muhteshem (47,930 puan) tarafından soruldu

3 Cevaplar

+2 oy
tam anlamadım ama yapılır :)

 

ama belki yapmaya gerek de yoktur, ulaşmaya çalıştığımız şeyi örnek üzerinde anlatabilir misiniz?
18, Haziran, 18 F. Osman Cabi (118,570 puan) tarafından cevaplandı
hücreye girince
   
perforfind
pouseresumescript
hücreden çıkarken devam edecek
replacefield
exit script

pouseresume den sonra ne konulduğunda hücreden çıkınca devam etsin.
Selam ederim Süleyman Bey;

Hocam betiği ikiye bölebilirsiniz. Birinci betik alana girdiğiniz zaman çalışır ikinci betik alandan çıktığınız zaman çalışır. Betiği durdurmanıza da gerek kalmaz.

Hayırlı günler dilerim.
Saygılarımla.
Teşekkür ederim.
Değişik  yöntemler olabilir yalnız tek skripte çözebilir miyiz ve nasıl ?
Tek script olmasını istiyorsanız "on commit" triger'ını da kullanabilirsiniz. Alana girerken değil, kayıt kaydedilirken betik çalışır. Kontrollerinizi yapıp eğer o alan değişmişse, get(modifiedfields) fonksiyonu ile bunu tespit edebiliyorsunuz, gerekli işlemleri uygulatabilirsiniz.
0 oy

İkinci soru için,script içinde Get (ActiveFieldName) ile alan adını alabilirsin ancak GotoField içinde değişken kullanamayacağın için onun yerine alana obje olarak bir isim vererek önce Get(ActiveLayoutObjectName) ile adını çekip GotoObject ile gidilebilir.Ancak bu ne amaçla kullanılacak onu tam olarak anlayamadım...

 

İlk soru için söyleyebileceğim; Tek script iki ayrı biçimde tetiklenmesi gerektiği için klasik tetikleyiciler yerine sanal tetikleyiciler (virtual triggers) ve bazı kontroller kullanmak işe yarayabilir.Alttaki linklerden bir fikir edinebilirsin..Ancak asıl amacın ne olduğu konusunda detaylı bilgi verilirse bunlara gerek kalmadan çözüm bulunabilir....

 

Virtual Script Triggers   -    Tetikleyicileri Durdurma   -   Tetikleyicileri Kontrol Edebilen Fonksiyonlar

 

19, Haziran, 19 Şemsi Saracoğlu (75,940 puan) tarafından cevaplandı
Cevaplar için teşekkür ederim.

Bir scriptle birden fazla hücredeki değişikleri ile,l, kayıtlarda yaptırmak içindi.

Örn. Hücreye girilince ıd leri aynı olan kayıtları buldurup, hücrede değişiklik yapınca bulunan kayıtların tümünde aynı hücredeki bilgileri değiştirmek. burda ki sıkıntı aynı id leri buldurunca kursor hücreden çıkıyor.  önce hücreyi değiştirip sonra kaydı buldurmak olabilirdi, bekleyen scripti hücreden çıkınca nasıl devam edeceğini bilemedim.

trigerde objeenter de yapabilirmiyimi uygulamaya çalıştım.
obje exit i kullamak istemedim.
Süleyman, önce girdiğin alanın içeriğini Get (ActiveFieldContents) ile değişkene alıp Find ile benzerlerini bulunca ReplaceFieldContents ile tümünü birden değiştirebilirsin..
0 oy

Herkese selam ederim;

 

Süleyman Hocam; Sorunuz hala geçerli mi? Bir cevap bulabildiniz mi bilemiyorum ama. Naçizane örnek bir dosya hazırladım. Dosyayı bir inceleyin isterseniz.

Örnek Dosya

 

Herkese hayırlı günler dilerim.

Saygılarımla.

3, Ağustos, 3 ercand (36,100 puan) tarafından cevaplandı
Teşekkür ederim
İki tıklamalı bir çözüm olmuştu.  Sizin   Çözümün daha iyi olduğuna inanıyorum  kontrol edince yazarım tekrar .
...