SSRS Show line only if data is present - conditional-statements

I am putting a persons name, their organization, and address block on a report. Sometimes the Applicant_Organization is NULL. When this happens I want to omit that line. With the code I have, an empty line shows below Applicant Name when there is no value for Applicant_Organization value. How can this be worked around?
=UCase(First(Fields!Applicant_Name.Value, "DataSet1") & Chr(10) & Chr(13) &
First(Fields!Applicant_Organization.Value, "DataSet1") & Chr(10) & Chr(13) &
First(Fields!Applicant_Address_Block.Value, "DataSet1"))
Thank you for your help.

You can use IsNothing() function :
For Example :
=UCase(First(Fields!Applicant_Name.Value, "DataSet1") & Chr(10) & Chr(13) &
IIF(IsNothing(First(Fields!Applicant_Organization.Value, "DataSet1")), "", First(Fields!Applicant_Organization.Value, "DataSet1") & Chr(10) & Chr(13)) &
First(Fields!Applicant_Address_Block.Value, "DataSet1"))

Try this. All we do here is test if then organization is blank/null/empty and then just append an empty string, if it is not empty we add the value plus the new line.
=UCase(First(Fields!Applicant_Name.Value, "DataSet1") & Chr(10) & Chr(13) &
IIF(LEN(First(Fields!Applicant_Organization.Value, "DataSet1")) = 0 , "", First(Fields!Applicant_Organization.Value, "DataSet1") & Chr(10) & Chr(13)) &
First(Fields!Applicant_Address_Block.Value, "DataSet1"))

Related

How to keep only the first character in a sting

I am looking for a way to store the first character in a string, I have used substring, but it did not work for me, since I want to keep only the first character in string regradless of the number of characters in the string.
This is the code I currently have:
If RadioButton2.Checked Then
RichTextBox1.Rtf = "{\rtf1\ansi\deff0 {\fonttbl{\f0 Times New Roman;}} " &
vbNewLine &
"- " & TextBox1.Text.Substring(2) & "," &
TextBox2.Text & ", " &
"\i " & TextBox5.Text & ". " & "\i0 " &
TextBox9.Text & ", " &
TextBox10.Text & ". "
End If
I am specifically looking for the first character in the string contained in textbox1.
To get the first character, specify the start index, and count.
TextBox1.Text.Substring(0, 1)

Access Form Dlookup - Using a Combo box for the expression value

Good Morning,
I am doing some work for a colleague and he wants a form creating where he can change to column that is looked at through a combo box as well as the criteria
I have tried the following
=DLookUp(" & [Combo8] & ","Product Guidelines","PC = '" & [Combo2] & "'")
but get an error, if i hard code the expression to one of the columns it works fine but when it's set to look at the combo box it doesn't work, I have tried several variants of the code but have no ran out of ideas
Please can someone help
Thank you
Look closely at your code. You are passing the literal string " & [Combo8] & " (including spaces and ampersands) as first parameter to DLookup.
Try
=DLookUp([Combo8], "Product Guidelines", "PC = '" & [Combo2] & "'")
or if the content of Combo8 has spaces,
=DLookUp("[" & [Combo8] & "]", "Product Guidelines", "PC = '" & [Combo2] & "'")
or maybe even with quotes around it:
=DLookUp("""[" & [Combo8] & "]""", "Product Guidelines", "PC = '" & [Combo2] & "'")
The syntax would be:
=DLookUp("[FieldNameToLookUp]","[Product Guidelines]","PC = '" & Me![Combo2] & "'")
as you probably don't have a field named Combo8.
If Combo8 holds that name, it would be:
=DLookUp("[" & Me!Combo8 & "]","[Product Guidelines]","PC = '" & Me![Combo2] & "'")

Return all values when filter text box is empty

I have an Access form And I want to return all values when I leave a filter text box (e.g Me.Text23 ) blank or empty
This is my code:
DoCmd.OpenReport "Report", acViewPreview, " select * from main where border LIKE'" & _
me.Text23 & "' AND a_date Between #" & Format(Me.Text18, "mm\/dd\/yyyy") & _
"# And #" & Format(Me.Text20, "mm\/dd\/yyyy") & "#"
Try something like
... "select * from main where " & iif(me.Text23 <> "", " border like " & me.Text.23 & " and ", "") & "a_date between #" ....
Read about iif here.
I think you want:
DoCmd.OpenReport "Report", acViewPreview, , "border LIKE '" & _
Replace(Me.Text23 & "", "'", "''") & "*' AND a_date Between #" & _
Format(Me.Text18, "yyyy/mm/dd") & _
"# And #" & Format(Me.Text20, "yyyy/mm/dd") & "#"
I recommend that you put proper names on textboxes, such as txtStartDate.
Using a year, month, day format avoids locale problems.
The WHERE argument of OpenReport accepts a string similar to an SQL WHERE argument, but without any extra bits.
Replacing single quotes with two single quotes avoids problems with strings containing quotes.
If Text23 is empty, the WHERE statement reads LIKE '*', which is everything that is not null. If you need null Borders, you need to say so.

Number of query values and destination fields are not the same in vb6 Error

I want to ask something,
I wrote the code like this, but when I execute that, it contain an error like this
"Number of query values and destination fields are not the same"
Before I show my code, I'll show you my structural table :
No : AutoNumber
NoNota : Text
NamaMotor : Text
NamaPeg : Text
Unit : Number
TotalJasa : Number
TotalPart : Number
GrandTotal : Number
Here's my code below :
dung = "INSERT INTO TmpTransaksi VALUES (" & _
"" & TBox(33).Text & "," & _
"'" & TBox(0).Text & "'," & _
"'" & TBox(32).Text & "'," & _
"'" & TBox(30).Text & "'" & _
"" & TBox(25).Text & "," & _
"" & TBox(23).Text & "," & _
"" & TBox(15).Text & "," & _
"" & TBox(16).Text & ")"
MsgBox dung
cn.Execute dung
Can you tell me where's my fault and correct it?
Thanks before..
You missed a comma. Change
"'" & TBox(30).Text & "'" & _
^^^
to
"'" & TBox(30).Text & "'," & _
On a side note: consider to learn and use parameterized queries instead of interpolating query strings.

vbtab in reporting services 2008 expression

i am trying to use tabs in reporting service 2008 expression on a particular textbox.
i have tried using three tabs (& vbTab & vbTab & vbTab &) between field name and value for two fields.
=iif(Trim(Fields!Field1.Value) <>"", "FVE1:" & vbTab & vbTab & vbTab & Fields!Field1.Value & VbCrLf,"") & iif(Trim(Fields!Field2.Value) <>"", "RV:" & vbTab & vbTab & vbTab & Fields!Field2.Value,"" )
what i am trying to aceive is some thing like this
FEV1: 3.29
RV: 0.51
But i am unable to achieve this insted it get like below
FEV1: 3.29
RV: 0.51
any help will be much appeiciated.
thanks
If tabs do not work, try right-aligning with non-breaking spaces Chr(160):
(Line-wrapped for legibility)
= Iif(
Trim(Fields!Field1.Value) <> "",
"FVE1:" & Fields!Field1.Value.ToString().PadLeft(5, Chr(160)) & VbNewLine,
""
)
& Iif(
Trim(Fields!Field2.Value) <> "",
"RV:" & Fields!Field1.Value.ToString().PadLeft(5, Chr(160)),
""
)