2014-10-23 1 views
1

Filemaker Pro 12 데이터베이스를 사용하여 확인란을 사용하여 선택 항목을 정렬하고 내보낼 수 있습니다. "선택 안 함"을 선택하고 모든 틱 항목을 제거하는 스크립트가 있습니다. 모든 결과를 검색하고 확인할 수 있어야합니다.Filemaker Pro 12의 현재보기에서 모두 선택

Case (
ValueCount (FilterValues (Table::Checkbox ; Table::ID)) > 0; 
Substitute (Table::Checkbox ; Table::ID & ¶ ; "") ; 
Table::Checkbox & Table::ID & ¶ 

) 확인란의

조건부 서식한다 :

나는 셋트 필드를 수행하는 체크 박스 이미지 버튼과 다음이

not ValueCount (FilterValues (Table::Checkbox ; Table::ID)) > 0 

스크립트에 대한 '선택 없음'은 다음과 같습니다.

Set Field [Table::Checkbox; ""] 

"Select all"스크립트는 무엇이 필요합니까?

+0

몇 가지 질문이 있는데, 모든 ID를 전체 필드로 컴파일 할 때'Table :: Checkbox'는 무엇입니까? 또한 목록보기 또는 포털을 통해 레코드를 보십니까? –

+0

예, 전역 필드이고 포털이 아닌 목록 모드에서 레코드를보고 있습니다. – Jack

+0

ID 값이 전역 체크 박스 필드에있는 레코드를 모두 포함하는 ** 발견 된 집합을 ** 만들고 싶습니까? 또는 반대 : 전역 체크 박스 필드를 현재 발견 된 세트의 ID로 설정하십시오. –

답변

0

발견 된 집합에서 반환 구분 목록으로 값을 수집하는 데는 몇 가지 방법이 있습니다. 찾은 세트가 상당히 작 으면 루프가 잘됩니다. 그렇지 않으면 너무 느릴 수 있습니다. 대상 글로벌 필드 어쨌든 때문에

, 당신은 간단하게 사용할 수 있습니다 : 이것은 기존 목록에 현재 발견-세트의 값을 추가합니다

Replace Field Contents [ No dialog; Table::gCheckbox; List (Table::gCheckbox ; Table::ID) ] 

. 새로 시작하려면하여 스크립트를 시작 :

Set Field [ Table::gCheckbox; "" ] 

참고 :
버전 13에서는, 당신은 "목록"의 새 요약 필드 옵션을 사용할 수 있습니다.

경고 :
것은 당신이 Replace Field Contents[] 실험하는 동안 백업이 있는지 확인하십시오; 실행 취소는 없습니다.

+0

Michael 덕분에 더 좋은 해결책이었습니다! 어떻게해야하며 매우 빠릅니다. 죄송합니다 Chris 솔루션은 좋았지 만 불행히도 첨가물이 아니 었습니다. – Jack

0

당신은 현재 발견 집합을 통해 걸어 모든 ID를 얻을 수있는 스크립트를 작성할 수

Set Variable [$currentRecord ; Get(RecordNumber)] 
# 
Goto Record [First] 
Loop 
Set Variable [$ids ; Table::ID & ¶ & $ids ] 
Go To Record [Next ; Exit after Last] 
End Loop 
# 
Go To Record [By Calculation ; $currentRecord] 
# 
Set Field [Table::Checkbox ; $ids ] 

에 ID를 컴파일, 현재 발견 집합을 통해 걸어, 당신의 현재 위치를 절약 할이 방법 변수를 선택하고 자신의 위치로 돌아가고 확인란 필드를 설정하십시오.

+0

ID를 컴파일하기 위해 Set Variable 단계를 조정 했으므로, 새로운'Table :: ID'를 기존'$ ids'의 맨 위에두고 싶습니다. 이렇게하면 첫 번째 ID를 생성 할 때' ### ¶'다른 코드에서 사용하는 것, 즉 ID 번호 뒤에 캐리지 리턴이 있는지 확인하십시오. –

+0

"* Go To Record [계산법 : $ currentRecord] *"스크립트에서이 단계의 목적은 무엇입니까? –

+0

@ michael.hor257k, 나는 일단 스크립트가 현재 발견 된 집합을 걷는 것을 마치면 시작한 레코드로 사용자를 되돌려 놓는다. 현재 활성 레코드가 목록의 중간에 있다면 나는 사용자가 확인란을 클릭하기 만하면 마지막 레코드로 이동하지 않을 것입니다. 때로는 별도의 창을 열고 레코드를보기 전에 화면을 숨기고 임시 창을 닫아서 원래 창에서 발견 된 설정을 방해하지 않도록합니다. 그러나 필자는 필요한 것보다 약간 더 복잡하다고 생각했습니다. 질문에 대답하는 것. –