문제

보기 선택 공식이 있습니다

SELECT @If( @Date(@Now) = @Date(@Created); @All; @False)  

그리고 나는 그것이 오늘날보다 지난 7 일 동안 모든 문서를 선택하기를 원합니다.

도움이 되었습니까?

해결책

SELECT @If( @Date(@Now) < @Date(@Adjust(@Created(), null, null, 7, null, null, null)); @All; @False)

다른 팁

두 부분이 필요합니다. 보기 선택 공식 :

SELECT isnotyet7daysOld = @True

그리고 일정과 "문서가 만들어 지거나 변경되었을 때"에 실행되는 에이전트 (또는 2 개). 에이전트는 이렇게 보인다 (둘 다)

minDate := @Adjust(@Today;0;0;-7;0;0;0);
REM "There are no future documents";
tmpResult := @if(minDate <= @Created;@False;@True);
SELECT tmpResult != isnotyet7daysOld;
FIELD isnotyet7daysOld := tmpResult

조정하려면 0이 필요하지 않습니다. NULL이라는 이름의 필드 나 변수가없고 @formula가 용서하고 결측 값 0을 만들기 때문에 NULL은 작동합니다.여기 속임수: 필드가 선택한 문서에 대해 필드가없는 값을 계산 한 다음 (OnChange 에이전트 또는 예정된 에이전트의 변경된 문서 임) 결과가 일치하지 않는 경우 만 변경하도록 선택합니다. 이렇게하면 문서 업데이트를 최소화합니다. 저장된 문서도 직접 업데이트됩니다. 이제 숨겨진 컴퓨터에서 구성된 필드를 추가하면 필드 값으로 @true를 사용하여 모든 문서를 안정적으로 캡처합니다. 그리고 예정된 에이전트를 밤에 한 번만 실행해야합니다 (0:01).

여기에 내가 한 일이 있습니다 (나는 사용했습니다 @TextToTime("Today") 대신에 @Today 위의 경고 당 인덱스 재 구축을 피하려면) :

SELECT (@Created) >= @Adjust(@TextToTime("Today");0;0;-7;0;0;0)   

BTW, 위의 힌트에 감사드립니다. 나는 오랫동안 이와 같은 견해를 만들고 싶었습니다. 저는 AZ/OS 시스템 프로그래머 (메인 프레임)이며 "Canned"View Design Formula가 상대적인 날짜가 아니기 때문에이보기를 매주 재건해야했습니다. 나는 그것을 가져 갔다 @TextToTime 힌트 @Created 노트의 예제 도움말 (이것은 이번 달에 문서를받는 예가 있습니다). 내 노트 클라이언트는 릴리스 6.5입니다.

당신은 그들에 날짜가있는보기 선택 공식에 매우주의해야합니다.

@today 또는 @now를 사용하는 경우 Notes/Domino는보기의 모든 문서를 항상 데이터를 벗어나는 것으로 간주하고 액세스 할 때마다 인덱스를 재건해야합니다. 이것은 매우 작은 데이터베이스에서는 괜찮지 만 더 큰 데이터베이스는 재앙입니다.

어떤 사람들은 @Date ( "Today")와 같은 공식을 사용하여이를 시도하고 노력할 것입니다. Notes/Domino는 @Today 또는 @Now를 포함하지 않기 때문에 날짜/시간 기반 공식으로 인식하지 못하고 처음에는 작동합니다. 그러나 인덱스가 완전히 새로 고침되지 않으면 뷰가 오래된 문서를 제거하지 않을 것이라는 것을 알게 될 것입니다.

이것을 다루는 가장 좋은 방법은 매일 밤 에이전트를 실행하는 것이 올바른 고정 날짜 값으로 선택 공식을 업데이트하는 것입니다. 제이크 howlett at Codestore.net 일부가 있습니다 훌륭한 이 작업에 대한 게시물.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top