cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Lukas1 Advocate I
Advocate I

UpdateIf in ForAll-Loop not working

Hi,

 

I am trying to update multiple items in a sharepoint list with the values of a collection.

 

The collection is called "Customers_Offline_Delete"

The sharepoint list is called "Customers"

 

Unfortunately the sharepoint list is not being updated.

 

Additional note: The column "To_Be_Deleted" was added to the sharpoint list after it was initially created (just in case this might cause the issue).

 

ForAll(
    Customers_Offline_Delete;
    UpdateIf(
        Customers;
        Customers_Offline_Delete[@ID] = ID;
        {To_Be_Deleted: To_Be_Deleted}
    );;
);;

 

Any help is appreciated. Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
Community Support
Community Support

Re: UpdateIf in ForAll-Loop not working

Hi @Lukas1 ,

Do you want to multiple records in your SP List based on your Collection data?

Could you please share a bit more about the "To_Be_Deleted" column in your SP List? Is it a Yes/No type column?

 

Firstly, if you added a new column to your SP List after it was initially created, please consider refresh the SP list data source in your app manually.

 

Based on the formula you provided, I think there is something wrong with it. Actually, I think the combination of ForAll function and Patch function could achieve your needs.

I have made a test on my side, please consider take a try with the following workaround (If there is also a "To_Be_Deleted" column in your Customers_Offline_Delete collection😞

Refresh(Customers);;
ForAll(
      Customers_Offline_Delete;
      Patch(
               Customers;
               LookUp(Customers; ID = Customers_Offline_Delete[@ID]);
               {
                 To_Be_Deleted: Customers_Offline_Delete[@To_Be_Deleted]   // I assume that there is also a "To_Be_Deleted" column in your Customers_Offline_Delete collection
               }
     );;
);;

 

If the "To_Be_Deleted" column is a Yes/No type column in your SP List, please consider modify above formula as below:

Refresh(Customers);;
ForAll(
      Customers_Offline_Delete;
      Patch(
               Customers;
               LookUp(Customers; ID = Customers_Offline_Delete[@ID]);
               {
                 To_Be_Deleted: true    // Update SP list records' To_Be_Deleted column to true
               }
     );;
);;

 

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.

View solution in original post

3 REPLIES 3
Highlighted
Super User
Super User

Re: UpdateIf in ForAll-Loop not working

@Lukas1 

I have 2 ideas for you to try:

 

#1:  Maybe there are no matches here because you are asking is a Table datatype equal to a Number datatype.

 

Customers_Offline_Delete[@ID] = ID;

 

Instead you should ask is the Number datatype IN the Table datatype

 

ID in Customers_Offline_Delete[@ID];

 

#2:  The 3rd argument of UpdateIf is replacing a column value with itself.

 

{To_Be_Deleted: To_Be_Deleted}

 

Perhaps instead you wanted to mark this as true (guessing you are using a yes/no column here).

 

{To_Be_Deleted: true}

 

---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

 

Community Support
Community Support

Re: UpdateIf in ForAll-Loop not working

Hi @Lukas1 ,

Do you want to multiple records in your SP List based on your Collection data?

Could you please share a bit more about the "To_Be_Deleted" column in your SP List? Is it a Yes/No type column?

 

Firstly, if you added a new column to your SP List after it was initially created, please consider refresh the SP list data source in your app manually.

 

Based on the formula you provided, I think there is something wrong with it. Actually, I think the combination of ForAll function and Patch function could achieve your needs.

I have made a test on my side, please consider take a try with the following workaround (If there is also a "To_Be_Deleted" column in your Customers_Offline_Delete collection😞

Refresh(Customers);;
ForAll(
      Customers_Offline_Delete;
      Patch(
               Customers;
               LookUp(Customers; ID = Customers_Offline_Delete[@ID]);
               {
                 To_Be_Deleted: Customers_Offline_Delete[@To_Be_Deleted]   // I assume that there is also a "To_Be_Deleted" column in your Customers_Offline_Delete collection
               }
     );;
);;

 

If the "To_Be_Deleted" column is a Yes/No type column in your SP List, please consider modify above formula as below:

Refresh(Customers);;
ForAll(
      Customers_Offline_Delete;
      Patch(
               Customers;
               LookUp(Customers; ID = Customers_Offline_Delete[@ID]);
               {
                 To_Be_Deleted: true    // Update SP list records' To_Be_Deleted column to true
               }
     );;
);;

 

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.

View solution in original post

Lukas1 Advocate I
Advocate I

Re: UpdateIf in ForAll-Loop not working

Thank you both!

 

@v-xida-msft, I was able to fix it by using: 

To_Be_Deleted: Customers_Offline_Delete[@To_Be_Deleted]

instead of

To_Be_Deleted: To_Be_Deleted

 

"Patch" and "UpdateIf" are both working fine now. Which one do you recommend in terms of delegation?

 

Thanks a lot!

Helpful resources

Announcements
MBAS Gallery 2020

MBAS Gallery 2020

Watch Microsoft Business Applications Summit sessions on-demand.

firstImage

New Ranks and Rank Icons released on April 21!

The time has come: We are finally able to share more details on the brand-new ranks coming to the Power Apps Community!

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