与记录循环

问题描述:

为什么我无法使用此脚本向我显示特定“Klasse”中的记录列表?与记录循环

我不断收到此错误:

"error "Can not get Fornavn of {{Klasse:\"1X\", Fornavn:\"Anders\", Efternavn:\"Andersen\", ElevID:\"12345\"}, etc.." (I translated the error from Danish to English)

set varElevnavnIDliste to {{Klasse:"1X", Fornavn:"Anders", Efternavn:"Andersen", ElevID:"12345"}, {Klasse:"1X", Fornavn:"Julius", Efternavn:"Nielsen", ElevID:"23442"}, {Klasse:"1X", Fornavn:"Allan", Efternavn:"Mortensen", ElevID:"32193"}, {Klasse:"1X", Fornavn:"Lukas", Efternavn:"Olsen", ElevID:"87263"}, {Klasse:"1X", Fornavn:"Victor", Efternavn:"Nielsen", ElevID:"34523"}, {Klasse:"3Y", Fornavn:"Kenneth", Efternavn:"Oddersen", ElevID:"23442"}, {Klasse:"3Y", Fornavn:"Thomas", Efternavn:"Johansen", ElevID:"23452"}, {Klasse:"3Y", Fornavn:"Johan", Efternavn:"Thomasen", ElevID:"76590"}, {Klasse:"3Y", Fornavn:"Charlotte", Efternavn:"Frandsen", ElevID:"78569"}, {Klasse:"3Y", Fornavn:"Mathilde", Efternavn:"Charlottesen", ElevID:"64569"}, {Klasse:"STAFF", Fornavn:"Poul", Efternavn:"Killegaard", ElevID:"45328"}, {Klasse:"STAFF", Fornavn:"Frederik", Efternavn:"Augustesen", ElevID:"75639"}, {Klasse:"STAFF", Fornavn:"Cornelius", Efternavn:"Bugesen", ElevID:"75630"}, {Klasse:"STAFF", Fornavn:"Rikke", Efternavn:"Hansen", ElevID:"74632"}, {Klasse:"STAFF", Fornavn:"Katja", Efternavn:"Steffensen", ElevID:"65939"}} 

set varResult to {} 
repeat with iPar2 from 1 to (number of items in varElevnavnIDliste) 
    if item 1 of varElevnavnIDliste contains {Klasse:"1X"} then 
     set end of varResult to Fornavn of varElevnavnIDliste 
    end if 
end repeat 

choose from list varResult 

两个错误:

  • 迭代元素item iPar2 of varElevnavnIDliste,不item 1 of ...
  • 到请求的元素的引用Fornavn of item iPar2 of varElevnavnIDliste,而不是Fornavn of varElevnavnIDliste

set varResult to {} 
repeat with iPar2 from 1 to (number of items in varElevnavnIDliste) 
    if item iPar2 of varElevnavnIDliste contains {Klasse:"1X"} then 
     set end of varResult to Fornavn of item iPar2 of varElevnavnIDliste 
    end if 
end repeat 

这是相同

set varResult to {} 
repeat with iPar2 from 1 to (number of items in varElevnavnIDliste) 
    set theItem to item iPar2 of varElevnavnIDliste 
    if theItem contains {Klasse:"1X"} then 
     set end of varResult to Fornavn of theItem 
    end if 
end repeat 

或与repeat with ... in语法仍然干净。

set varResult to {} 
repeat with iPar2 in varElevnavnIDliste 
    if iPar2 contains {Klasse:"1X"} then 
     set end of varResult to Fornavn of iPar2 
    end if 
end repeat 
+0

你摇滚!谢啦! 我想我有点理解......也许:-D – Polle