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
						

Loop Kullanımı

+1 oy
928 kez görüntülendi

Mehmet hocam bu şekilde ilgili bir soru olarak mı yazmalıydım bilemedim, kusura bakmayın.

Osman beyin tarif ettiği üzere calculation substitute ve list olarak formül çalıştı ancak Loop olaylarını iyi bilmediğimden şimdi öğrenmek için soruyorum. Tarif ettiğiniz konuyu aşağıdaki gibi yaptım ancak her iki table da da sadece ilk kaydı aldı  diğerlerini almadı. Loop konusunu öğrenmek için eğer vaktiniz olursa bir bakabilir misiniz script in neresinde hata yaptım? 

Örnek dosyayı da gönderiyorum. Kolay gelsin.

http://filemakerturk.com/?qa=blob&qa_blobid=18353120467009958528

 

 

7, Mayıs, 2016 Scripts kategorisinde mehmetevli (2,500 puan) tarafından soruldu
sorunun aslı şöyleydi:

Merhabalar,

Bir table (A) öğrenci bilgileri içeriyor.

Bir başka table  (B) da da öğrencilerin yazdıkları makaleler ve detayları var. Bu iki table birbiriyle öğrenci numaraları üzerinden ilişkili.

A table ın içerisine bir field koyarak (C) öğrenci adı ve makale isimlerini aralarına (;) koyarak yazmak istiyorum. Örneğin field ın içeriği şöyle olacak:

Ali Kaya; Geometrinin Sonu; Bilimin Öncüleri; Fiziğin Temel Dinamikleri

Elbette her öğrencinin yazdığı makale sayısı eşit değil.

C field ını calculation yapıp içeriğine ADISOYADI & (;) & TÜMMAKALELER aklıma geldi. Ancak TÜMMAKALELER adlı fieldın içinde bu öğrencinin tüm makalelerini nasıl yanyana dizeceğimi bilemedim.

Yoksa bir scriptle mi yapmalıydı?

Yardımcı olabilir misiniz? Teşekkürler.

1 cevap

0 oy

 

MAKALE ETİKETİ SCRİPTININ DOĞRUSU BU OLMALI. A LAYOUTUNDA SCRİPTİ ÇALIŞTIRIN

 

Set Error Capture [ On ]
Go to Layout [ “B” (B) ]
Show All Records
Sort Records by Field [ Ascending ; B::öğrenci no ]
Go to Record/Request/Page [ First ]


Loop
Set Variable [ $makale; Value:B::makale adı ]
Set Variable [ $no; Value:B::öğrenci no ]
Go to Layout [ “A” (A) ]
Set Variable [ $makalemevcut ; Value:A::MAKALE ETİKETİ SCRIPT İLE ]
Enter Find Mode [ Specified Find Requests: Find Records ; Criteria: A::no: “$no” ] [ Restore ]
Perform Find [ ]
Set Field [ A::MAKALE ETİKETİ SCRIPT İLE ; $makalemevcut & $makale & "; " ]
Go to Layout [ “B” (B) ]
Go to Record/Request/Page [ Next; Exit after last ]
End Loop
Go to Layout [ “A” (A) ]
Halt Script

8, Mayıs, 2016 Mehmet KAYA (165,360 puan) tarafından cevaplandı
Elinize sağlık hocam.
...