Good feed back - teaches me not to be in a rush!
This formula creates a display string where it reads database fields - and appends the values together to form a string where the value of the field is not null. I have to convert numeric values to text and then supress decimal places depending on predefined method (which is hard coded) hence the use of MID statement.
The full formula is as follows : problem is I end up with a blank formula , however if I comment out the last bit of code it seams to work:
WhilePrintingRecords;
local StringVar txt;
local StringVar tx;
txt:="";
tx:="";
if not isnull({RECIPE.RECIPE_MICRON_CV_MIN}) then
tx:=tx+MID(totext({RECIPE.RECIPE_MICRON_CV_MIN}),1,length(totext({RECIPE.RECIPE_MICRON_CV_MIN}))-1)+"/";
if not isnull({RECIPE.RECIPE_MICRON_CV_MAX}) then
tx:=tx+MID(totext({RECIPE.RECIPE_MICRON_CV_MAX}),1,LENGTH(totext({RECIPE.RECIPE_MICRON_CV_MAX}))-1);
if length(tx)<> 0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if not isnull({RECIPE.RECIPE_YIELD_MIN}) then
tx:=tx+MID(totext({RECIPE.RECIPE_YIELD_MIN}),1,length(totext({RECIPE.RECIPE_YIELD_MIN}))-1)+"/";
if not isnull({RECIPE.RECIPE_YIELD_MAX}) then
tx:=tx+MID(totext({RECIPE.RECIPE_YIELD_MAX}),1,length(totext({RECIPE.RECIPE_YIELD_MAX}))-1);
if length(tx)<> 0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_VM1_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_VM1_MIN}),1,length(totext({RECIPE.RECIPE_VM1_MIN}))-1)+"/";
if (isnull({RECIPE.RECIPE_VM1_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_VM1_MAX}),1,length(totext({RECIPE.RECIPE_VM1_MAX}))-1);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_VM2_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_VM2_MIN}),1,length(totext({RECIPE.RECIPE_VM2_MIN}))-2)+"/";
if (isnull({RECIPE.RECIPE_VM2_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_VM2_MAX}),1,length(totext({RECIPE.RECIPE_VM2_MAX}))-2);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_VM3_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_VM3_MIN}),1,length(totext({RECIPE.RECIPE_VM3_MIN}))-2)+"/";
if (isnull({RECIPE.RECIPE_VM3_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_VM3_MAX}),1,length(totext({RECIPE.RECIPE_VM3_MAX}))-2);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_EST_CARDING_LENGTH_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_EST_CARDING_LENGTH_MIN}),1,length(totext({RECIPE.RECIPE_EST_CARDING_LENGTH_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_EST_CARDING_LENGTH_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_EST_CARDING_LENGTH_MAX}),1,length(totext({RECIPE.RECIPE_EST_CARDING_LENGTH_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_EST_HMA_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_EST_HMA_MIN}),1,length(totext({RECIPE.RECIPE_EST_HMA_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_EST_HMA_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_EST_HMA_MAX}),1,length(totext({RECIPE.RECIPE_EST_HMA_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_STAPLE_LENGTH_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_STAPLE_LENGTH_MIN}),1,length(totext({RECIPE.RECIPE_STAPLE_LENGTH_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_STAPLE_LENGTH_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_STAPLE_LENGTH_MAX}),1,length(totext({RECIPE.RECIPE_STAPLE_LENGTH_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_STAPLE_LENGTH_CV_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_STAPLE_LENGTH_CV_MIN}),1,length(totext({RECIPE.RECIPE_STAPLE_LENGTH_CV_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_STAPLE_LENGTH_CV_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_STAPLE_LENGTH_CV_MAX}),1,length(totext({RECIPE.RECIPE_STAPLE_LENGTH_CV_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_STAPLE_STRENGTH_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_STAPLE_STRENGTH_MIN}),1,length(totext({RECIPE.RECIPE_STAPLE_STRENGTH_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_STAPLE_STRENGTH_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_STAPLE_STRENGTH_MAX}),1,length(totext({RECIPE.RECIPE_STAPLE_STRENGTH_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_POB_BASE_MIN})=false) then
tx:=txt+MID(totext({RECIPE.RECIPE_POB_BASE_MIN}),1,length(totext({RECIPE.RECIPE_POB_BASE_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_POB_BASE_MAX})=false) then
tx:=txt+MID(totext({RECIPE.RECIPE_POB_BASE_MAX}),1,length(totext({RECIPE.RECIPE_POB_BASE_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_POB_MID_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_POB_MID_MIN}),1,length(totext({RECIPE.RECIPE_POB_MID_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_POB_MID_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_POB_MID_MAX}),1,length(totext({RECIPE.RECIPE_POB_MID_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_POB_TIP_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_POB_TIP_MIN}),1,length(totext({RECIPE.RECIPE_POB_TIP_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_POB_TIP_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_POB_TIP_MAX}),1,length(totext({RECIPE.RECIPE_POB_TIP_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_HAUT_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_HAUT_MIN}),1,length(totext({RECIPE.RECIPE_HAUT_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_HAUT_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_HAUT_MAX}),1,length(totext({RECIPE.RECIPE_HAUT_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_CVH_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_CVH_MIN}),1,length(totext({RECIPE.RECIPE_CVH_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_CVH_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_CVH_MAX}),1,length(totext({RECIPE.RECIPE_CVH_MAX}))-3);
if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;
tx:="";
if (isnull({RECIPE.RECIPE_NOIL_MIN})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_NOIL_MIN}),1,length(totext({RECIPE.RECIPE_NOIL_MIN}))-3)+"/";
if (isnull({RECIPE.RECIPE_NOIL_MAX})=false) then
tx:=tx+MID(totext({RECIPE.RECIPE_NOIL_MAX}),1,length(totext({RECIPE.RECIPE_NOIL_MAX}))-3);
//if length(tx)<>0 then
txt:=txt+space(9-length(tx))+tx;