2014-01-16 3 views
13

내 데이터베이스의 문자열 필드에서 실행되는 논리를 기반으로 문자열을 반환하는 수식을 작성했습니다. 필드가 빈 문자열 일 때 반환 할 수 없다는 점을 제외하고는 모든 것이 작동합니다. Crystal Reports에서 문자열이 비어 있는지 확인하는 수식

... 
else if ({TABLE.FIELD} = "") then 
    "Fixed" 
... 

그러나,이 항목은 내 보고서의 빈 문자열로 나타납니다 :

이것은 내가 필요로하는 것입니다. 필드의 길이를 0으로 테스트하고 StrCmp 함수를 테스트 해 보았습니다. 아무것도 작동하는 것 같습니다. Google 결과에 따르면 ""또는 " '에 대한 간단한 비교를 통해 논리가 작동해야한다고 나와 있습니다. 나는 CR에 익숙하지 않아, 아마도 나는 뭔가를 놓치고 있습니다. 이 기능을 어떻게 얻을 수 있는지에 대한 아이디어가 있습니까?

+0

'그러나이 항목은 내 보고서에 빈 문자열로 나타납니다. 정확히 표시되고있는 것은 무엇입니까? 당신의 설명으로는 분명하지 않습니다. – LittleBobbyTables

+0

빈 문자열이 인쇄되거나 반환됩니다. 다른 모든 필드는 올바른 문자열 (예 : 고정)을 표시합니다. – user3203365

+0

Crystal을 사용한 이후로 오랜 시간이 지났지 만, 실제로 비어 있고 'null'이 아닌 것은 확실합니까? 올바르게 기억하면 Crystal은 null 값을 처리하는 작업이 매우 부족합니다. 먼저 확인해야합니다. 첫 번째 테스트에서 문자열이 null인지 확인하고 "Fixed"를 표시하면 문제가 해결되는지 확인하십시오. – LittleBobbyTables

답변

35

IsNull 상태를 확인할 수 있습니다.

If IsNull({TABLE.FIELD}) or {TABLE.FIELD} = "" then 
    // do something 
+4

Crystal Reports는 null 처리에 대해 까다 롭기 때문에 첫 번째 검사로 'NULL'을 확인해야합니다. – LittleBobbyTables

+0

in "// something something"특정 텍스트를 설정하고 싶지만 항상 텍스트 대신 false를 반환합니다. – numerah

+0

안녕 LittleBobbyTables, 두 권의 엄지 손가락을주고 싶습니다 !!! –

-1

ISNULL ({TABLE.FIELD1}) 다음 "NULL"+ ','+ {TABLE.FIELD2} 다른 {TABLE.FIELD1} + ','+ {TABLE.FIELD2}

하는 경우

여기에 NULL 값을 데이터 필드의 null 값 대신 NULL 값으로 표시하기 위해 NULL을 문자열로 넣습니다. 당신이 이해할 수 있기를 바랍니다.

관련 문제