I think there is a slight flaw in this expression. If fld5 is empty, there would be an extra comma at the end. It may not be most efficient, but my modification would be
SUBSTR(IIF(EMPTY(fld1), "", ","+alltrim(fld1)) ;
+ IIF(EMPTY(fld2), "", ","+alltrim(fld2)) ;
+ IIF(EMPTY(fld3), "", ","+alltrim(fld3)) ;
+ IIF(EMPTY(fld4), "", ","+alltrim(fld4)) ;
+ IIF(EMPTY(fld5),"",","+alltrim(fld5)),2)
>Hi Tariq,
>
>use the IIF() function to determine if to add the comma or not.
>
>Something like this (off the top of my head):
>
>alltrim(fld1) + IIF(EMPTY(fld1), "", ",") ;
>+ alltrim(fld2) + IIF(EMPTY(fld2), "", ",") ;
>+ alltrim(fld3) + IIF(EMPTY(fld3), "", ",") ;
>+ alltrim(fld4) + IIF(EMPTY(fld4), "", ",") ;
>+ alltrim(fld5)
>
>
>>Dear Experts
>>
>>Table1 has 5 fields as
>>
>>fld1--c(10)
>>fld2--c(10)
>>fld3--c(10)
>>fld4--c(10)
>>fld5--c(10)
>>
>>There is only one record in dbf as
>>fld1="a"
>>fld2="b"
>>fld3=""
>>fld4=""
>>fld5="e"
>>
>>The data may be vary type,for example
>>sometimes all fields are filled
>>sometimes some fields are filled
>>sometimes all fields are empty
>>
>>When I use as
>>alltrim(fld1)+alltrim(",")+alltrim(fld2)+alltrim(",")+alltrim(fld3)+;
>>alltrim(",")+alltrim(fld4)+alltrim(",")+alltrim(fld5)
>>
>>then It show extra comma when some field is empty as
>>a,b,,,e
>>
>>In report, I want to show data in only one field as
>>a,b,e
>>
>>The filled data should print side by side with comma separation.
>>
>>Please help