इस साइट पर इस प्रश्न के उत्तर के संकेत हैं, लेकिन मैं थोड़ा अलग सवाल पूछ रहा हूं।क्रिस्टल रिपोर्ट फॉर्मूला: IsNull + Iif
क्रिस्टल रिपोर्ट्स कहां दस्तावेज करता है कि यह वाक्यविन्यास काम नहीं करता है?
Trim({PatientProfile.First}) + " "
+ Trim(Iif(
IsNull({PatientProfile.Middle})
, Trim({PatientProfile.Middle}) + " "
, " "
)
)
+ Trim({PatientProfile.Last})
मैं जानता हूँ कि समाधान
If IsNull({PatientProfile.Middle}) Then
Trim({PatientProfile.First})
+ " " + Trim({PatientProfile.Last})
Else
Trim({PatientProfile.First})
+ " " + Trim({PatientProfile.Middle})
+ " " + Trim({PatientProfile.Last})
है, लेकिन हम कैसे यह पता लगाने की हम पहले संस्करण का उपयोग नहीं कर सकते करने वाले हैं?
IsNull के लिए दस्तावेज़ कहते हैं
- क्षेत्र मौजूदा रिकॉर्ड में निर्दिष्ट मूल्यांकन करता है और सही रिटर्न क्षेत्र एक शून्य मान
शामिल है और Iif
- [रिटर्न देता है ] TruePart अगर अभिव्यक्ति सही है और गलत है अगर अभिव्यक्ति गलत है। लौटाए गए मान का प्रकार TruePart और falsePart के प्रकार जैसा ही है।
मुझे लगता है अगर आप "वापसी मान के प्रकार" के बारे में है कि लाइन पर टकटकी आप इसे प्राप्त कर सकते हैं, लेकिन ...
मैं काम आज CRXI की जरूरत नहीं है, लेकिन क्या पहले एक के बारे में काम नहीं करता है? क्या यह केवल अंतर को गलत करता है (जो कोड में एक तर्क त्रुटि है - आपके पास एक अतिरिक्त ट्रिम() है) या यह किसी अन्य तरीके से विफल हो जाता है? – Stobor
रिकॉर्ड्स के लिए जहां मिडल नल है, सीआर ट्रिम (मिडल) में स्ट्रिंग वैल्यू का मूल्यांकन नहीं कर सकता है, और आईआईएफ का मान न्यूल है, भले ही मेरे पास उस स्पष्ट परीक्षण है। – SarekOfVulcan