Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Error in formula 'A String is required here'

Status
Not open for further replies.

makjoshi

Programmer
May 30, 2001
27
JP
Hi,
I'm getting a typical error in Crystal Report formula.

FormulaException: Error in File D:\MyReport.rpt:
Error in formula <setVariables>.
'WhilePrintingRecords;
'
A string is required here.]
.L(String , EngineExceptionErrorID )
.G(Int16 
, Int32 )
.F(Int16  )
CrystalDecisions.CrystalReports.Engine.FormatEngine.GetLastPageNumber(ReportPageRequestContext reqContext)
CrystalDecisions.ReportSource.LocalReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)
CrystalDecisions.Web.ReportAgent.get_LastPageNumber()
CrystalDecisions.Web.ReportAgent.{(Boolean C)
CrystalDecisions.Web.CrystalReportViewer.OnPreRender(EventArgs e)
System.Web.UI.Control.PreRenderRecursiveInternal()
System.Web.UI.Control.PreRenderRecursiveInternal()
System.Web.UI.Control.PreRenderRecursiveInternal()
System.Web.UI.Page.ProcessRequestMain()

But the formula is having not complex: it is as follows in Crystal Syntax:

WhilePrintingRecords;
StringVar strSender;

If {activity.acttype} = 1 Then
(If strSender = "" Then
strSender := {activity.name}
Else
If Length(strSender)+Length({activity.name}) > 251 Then
If Length(strSender) = 254 Then
strSender := (Left (strSender ,3) + "...")
Else
strSender
Else
If NOT({activity.name} In strSender) Then
strSender := Cstr(strSender + "; " + {activity.name}))
Else
.........................


same kind of conditions follows.
I have checked the return datatype in both IF and ELSE block, but the error remains same.
Even i have used toText and Cstr but still it occurs.
It's urgent...suggest some way out of it.
Thanks in advance.
 
Here's the error:

strSender := Cstr(strSender + "; " + {activity.name}))

Should be:

strSender := strSender + "; " + {activity.name}

The fields referenced are already strings, so a CSTR will cause an error.

-k

 
HI K,
Thanks for the response, But it was my mistake what yo have pointed ..Cstr i have tried..and forgot to remove while posting ...but the error remains same...
But the original formula was
strSender := strSender + "; " + {activity.name}

Also one doubt:
is
Else
strSender
should be
Else
strSender := strSender
Please guide on this. I have tried this one ..but still not working.No formula error..but at runtime the same error occurs.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top