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.760 students) : 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.760 students) : 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.

Anonymous
Not applicable

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
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

May UG Leader Call Carousel 768x460.png

June User Group Leader Call

Join us on June 28 for our monthly User Group leader call!

PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

PA.JPG

New Release Planning Portal (Preview)

Check out our new release planning portal, an interactive way to plan and prepare for upcoming features in Power Platform.

Top Solution Authors
Users online (4,234)