"IF Statement" in Crystal report...

I want to write query like this:

If {Site.Group} = "Bldg" then
     Site.name = Site.name
Else
     Site.name = ""
End if
     
Where "site" is tablename and "Group","name"  is field of that table.It contains 3 different kind of values.If its value is "Bldg" than only it retrieves data from "site.name" field.Otherwise it doesn't show anything in report.That's it.

Let me know step by step how i put "site.name" field in my report ?

Thanks for your time in advance.

Thanks,
bhavesh55
bhavesh55Asked:
Who is Participating?
 
marcosjimenezConnect With a Mentor Commented:

 Put a Formula Field on your report and type this in the formula text:

If {Site.Group} <> "Bldg" then
    txtSite.name = ""     
else
    txtsite.name = {Site.Group}


where txtSite is the Formula Field.
0
 
ndbCommented:
Instead of draging a databasefield in your report, you should make a Formula with the following:

If {Site.Group} = "Bldg" then
     Site.name
Else
     ""
End if
     
0
 
bhavesh55Author Commented:
marcosjimenez
From "insert" menu, i choose "Formula Field".Than "Field Explorer" pops up and using right click menu i select "New" and enter "txtSite" as you told me.

And wrote below mentioned text in Formula Editor:
If {Site.Group} <> "Bldg" then
    txtSite.name = ""
else
    txtSite.name = {site.name}


Error:
1)There is an error in this formula.Do you want to save it anyway ?

2)A number,currency,amount,boolean,date,time,date-time, or string is expected here.

Let me know how should i fix this ?
I am really in hurry.

Thanks,
bhavesh55
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
bhavesh55Author Commented:
ndb,marcosjimenez & other experts
I am eagerly waiting for your reply.

Let me know as soon as you can.

Thanks,
bhavesh55
0
 
Brendt HessSenior DBACommented:
For a crystal formula, you don't have assignments.  Try this:

If {Site.Group} = "Bldg" then
     {Site.name}
Else
    " "

0
 
ndbCommented:
Have you tried this formula?

If {Site.Group} = "Bldg" then
     {Site.name}
Else
     ""
End if

I use something like this in my own reports and it works.
0
 
bhavesh55Author Commented:
I would like to give points to ndb and bhess1.

It shouldn't show me that option.

Let me know what should i do to give them points.

0
 
ndbCommented:
Well ... spliting the points of a question isn't possible.
The only thing you could do is requesting a deletion request on this question a ask two new questions with half the points on it.
0
 
bhavesh55Author Commented:
bhess1
May i know the exact syntax for the "Else if" statement also.

Is this the right one ?

If {Site.Group} = "Bldg" then
     {Site.name}
Else if {Site.Group} = "Tenant" then
     {Site.name}
Else
    " "

When i try to run above one than it gives me error like:

"The remaining text does not appear to be part of the formula".

I am eagerly waiting for your reply.
Thanks,
bhavesh55



0
 
ndbCommented:
If {Site.Group} = "Bldg" then
     {Site.name}
Else
    if {Site.Group} = "Tenant" then
        {Site.name}
    Else
        " "

0
 
Brendt HessSenior DBACommented:
ndb has it right.

Also, you can write this as one IF statement:

If {Site.Group} = "Bldg" OR {Site.Group} = "Tenant" then
     {Site.name}
Else
     " " 
0
 
Brendt HessSenior DBACommented:
IMO, the only reasonable way to give two people points is to post another question with 'For ndb' or 'For bhess1' as the title, and offer more points.  

IMO, deleting the question affects how EE works... the archive of historical answers is a valuable resource for others, and should be kept intact if possible.

You might offer a suggestion to EE that allowing split points on the answer to a question would be useful - allow us to check all of the pieces that we feel answered the question, and split the points evenly between the answerers.

Hmmm... I think I'll suggest that myself!
0
All Courses

From novice to tech pro — start learning today.