cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ck25415
Post Patron
Post Patron

If condition multiple statements with ';' delimiter not working anymore?

Hello,

 

I have the following if condition for onAddFile property of attachment datacard

 

If(//Check file extension
Last(
Split(
First(DataCardValue71.Attachments).Name,
"."
)
).Result = "docx",
true,
false;Notify(
"Please submit the file in .docx format",
NotificationType.Error
)
)

 

It used to work fine the condition returned false and notified the error message when I uploaded a file type other than docx.

 

Now, when I upload a non .docx file type the condition returns "true" and displays the error notification. If i remove ';' delimeter and notify function next to it... the condition returns false.

 

If replace ';' delimiter with && the condition returns false for non .docx file but the notify function does not trigger(tried other functions too none of them worked).

 

Thanks

8 REPLIES 8
v-xida-msft
Community Support
Community Support

Hi @ck25415 ,

Do you specify your If condition formula within the OnAddFile property of the Attachments control?

 

Based on the formula that you mentioned, I think there is something wrong with it. Firstly, I think it is not necessary to specify true or false value within your If formula.

 

In addition, the Last(Split(First(DataCardValue71.Attachments).Name, ".")).Result formula could only retrieve the file extension of the firstly uploaded file, it would not work for the new uploaded file in your Attachments control.

I have made a test on my side, please consider take a try with the following workaround:

Set the OnAddFile property of Attachments control to following:

If(
    Last(Split(Last(DataCardValue9.Attachments).Name, ".")).Result <> "docx",
    Notify("Please submit the file in .docx format", NotificationType.Error)
)

1.JPG

 

Please consider take a try with above solution, check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
renatoromao
Super User
Super User

Hi @ck25415 ,

 

Did you try this solution below?

Set(CheckFileExtension, If(Last(Split(First(DataCardValue71.Attachments).Name, ".")).Result = "docx", true, false)) //your result will be true or false

If(//Check file extension
CheckFileExtension = false, Notify("Please submit the file in .docx format", NotificationType.Error)) //and ignore if your condition is equals true


Did I answer your question? Mark my post as a solution!
Thanks!

Renato Romão,

Connect with me here 😉

Power Virtual Agents course (+2.300 students | PROMOTIONS) : English | Português

@v-xida-msft 

 

Yes, I have set the condition within the OnAddFile property of attachment control. Also, the max number of attachments is set to 1.

 

I am trying to assign the outcome of the condition to a variable using updatecontext function. So I will need to use true/false in the if condition. 

 

I wanted to know if we can use ';' delimiter to execute multiple statements in "If" condition in power apps. As I mentioned in my post the condition used to work fine and I am wondering why my expression started to fail now. If we cannot use ';' delimiter to execute multiple statements in "If" condition, what would be an alternative to it ?

@renatoromao 

 

Set(CheckFileExtension, If(Last(Split(First(DataCardValue71.Attachments).Name, ".")).Result = "docx", true, false)) //your result will be true or false

 

If(//Check file extension
CheckFileExtension = false, Notify("Please submit the file in .docx format", NotificationType.Error)) //and ignore if your condition is equals true

 

I tried above expressions and it worked fine and I thought of using the variable outcome to trigger the notification separately if I cannot execute multiple statements.  The problems comes when I wanted to execute multiple statements in If condition with ';' delimiter. 

 

I wanted to know if we can use ';' delimiter in If conditions to execute multiple statements, this way I can reduce the number of expressions  I have to write.

 

 

Hi @ck25415 ,

 

Sure.

Probably your problem is related to use:

If(condition, true, false;action;action)

 

Your code tries to receive Boolean values in the first condition ("true") but in the second condition your return Boolean and actions.

You need to separate each one and you, unfortunately, you expend more than one line of the code.


Did I answer your question? Mark my post as a solution!
Thanks!

Renato Romão,

Connect with me here 😉

Power Virtual Agents course (+2.300 students | PROMOTIONS) : English | Português
yashag2255
Dual Super User II
Dual Super User II

Hi @ck25415 

 

Can you try to setup the configuration like:

Attachments Control -> OnAddFile -> Set(CheckFileExtension, If(Last(Split(First(DataCardValue71.Attachments).Name, ".")).Result = "docx", true, false))

If(CheckFileExtension, Patch();Set(), Set();Update())

The formula presentation should be like this, in case of multiple actions. I am guessing that it is not working because of the Boolean that you passed before the delimiter.

 

Hope this Helps!

 

If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!

Thanks everyone, I split the multiple statements into two separate if conditions.

Phu_Le
Helper I
Helper I

Hi

 

I have a concern that why we have to try to give true & false results at Onaddfile when the file always be attached after click OPEN?

Is there any way to prevent the current file is attached by condition (not reset attachment)

 

Phu_Le_0-1592662484935.png

 

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Top Solution Authors
Top Kudoed Authors
Users online (30,745)