2014-03-25 3 views
1

@DbColumn을 사용하는 페이지에서 일부 계산 된 텍스트 필드에 대한 열 값을 가져 오려고합니다. @DbColumn으로 레코드 수를 어떻게 계산합니까?

지금처럼, 나는 "상태 별"이라는 전망을 말해봐 :

+-------+--------+-----------+----------+------------+ 
| Count | Status | Created | Author | Comments | 
+-------+--------+-----------+----------+------------+ 
| 134 | Open |   |   |   | 
+-------+--------+-----------+----------+------------+ 
|  |  | Records with "Status" = "Open"... | 
+-------+--------+-----------------------------------+ 
| 101 | Hold |   |   |   | 
+-------+--------+-----------+----------+------------+ 
|  |  | Records with "Status" = "Hold"... | 
+-------+--------+-----------------------------------+ 
... 

꽤 자기 설명 -이 상태로 데이터베이스의 모든 레코드를 표시하고 수 (레코드 수)에있다 각 상태.

내 페이지에는 각 상태에 대한 계산 된 텍스트 필드가 있습니다. Open, Hold, 등등. 상태에 따라 카운트를 얻으려고합니다. 예를 들면 다음과 같습니다.

@Text(@DbColumn( "Notes" : "ReCache" ; "" : "" ; "By Status"; 1)); 

이렇게하면 상태가 "열기"인 횟수가 134입니다. 나는 위의 진술에 대해 이것이 맞다는 것을 알고 있지만, 내가하는 일이 아니다.

각 "상태"에 대해 "카운트"값을 어떻게 얻을 수 있습니까? 아마도 @DbLookup을 사용하면 ..?

답변

2

원하는 작업을 수행하는 데는 두 가지 방법이 있습니다. 먼저 모든 상태 값에 대해 @DbLookup을 수행합니다. 그러면 다음과 같이 보입니다 (Open 상태에 대한 예제) :

@DbLookup("":"ReCache"; ""; "By Status"; "Open"; 1) 

느려질 수있는 상태의 수에 따라 다릅니다.

다른 방법은 계산 필드에 dbcolumn 할 것이다 (그 대신 페이지의 목적으로 형태를 취할하는 의미를,하지만 그건 정말 문제가되지 않습니다) : "allTotals

필드 이름

@DbColumn("":"ReCache"; ""; "By Status"; 1) 

그리고 특별한 상태 전체에 대한 각 값에 당신이보기에 그 위치를해야합니다 : "수는 디스플레이에 대해 계산, 여러 값, 공식을 할 수 있습니다. 첫 번째 상태 :

@Subset(@Subset(allTotals; 1) ; -1) 

두 번째 상태 :

@Subset(@Subset(allTotals; 2) ; -1) 

...

그리고 물론

는,이 처리의 다른 더 복잡한 방법이있을 수 있습니다 ...

+0

아,'@Subset' 사용을 생각하지 않았습니다. 감사! – Drewness

1

@DbLookup은 하나의 해결책입니다. 상태 열이보기의 첫 번째 열이고 사전 순으로 정렬되는 새보기를 설치하려고합니다.

@DbLookup("Notes":"NoCache"; "":""; "NewView"; "Hold"; 2); 

또한 관련된 두 개의리스트를 얻을 수 @DbColumn을 사용할 수 있어야합니다 : 두 번째 열은 것 홀드에있는 수를 얻기 위해 다음 수식 개수, 그리고 것입니다.

Statuses := @DbColumn( "Notes" : "ReCache" ; "" : "" ; "By Status"; 2); 
Counts := @DbColumn( "Notes" : "ReCache" ; "" : "" ; "By Status"; 1); 
NumberOnHold := @Select(@Member("Hold"; Statuses); Counts); 
+0

내가 할 수있는 'Queryesen '페이지에'Statuses'와'Counts'를 넣으시겠습니까? 그렇다면 각 필드의 마지막 줄만 참조하면됩니다. – Drewness

+0

폼의 다른 필드에 참조 할 수 있도록 양식의 맨 위에 숨겨진 계산 된 필드를 넣을 수 있습니다. 디스플레이 용 Computed를 사용하면 참조 할 수는 있지만 저장할 수는 없다는 것을 잊어 버릴 수 있습니다. –

+1

아 양식의 맨 위에있는 오래된 "숨겨진 계산 된 필드"트릭. 감사! – Drewness

관련 문제