cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Gochix
Resolver I
Resolver I

ForAll Patch more than 2000 rows??

Hi,

I have a collection that contains more than 6000 rows of data. I store all info using clearcollect.

Question: How to ForAll Patch exceeding 2000 rows? 

Thought if it's possible to read more than 2000 rows using this formula :

ClearCollect(StoresList,Filter(CatalogueList,PartID <= 2000),Filter(CatalogueList,PartID >2000 && PartID <=4000),Filter(CatalogueList,PartID >4000 && PartID <=6000),Filter(CatalogueList,PartID >6000 && PartID <=8000));

 Then maybe it's also possible to somehow patch over 2000 rows?

 

Thanks in advance.

13 REPLIES 13
BCLS776
Super User
Super User

The code I shared above will create a new entry in the database table each time it runs -- the Defaults(TestUpdate) argument takes care of that. If you need code that updates existing records or creates new ones, try this:

ForAll(UpdateList As aRecord,
    With({aLookup: LookUp(TestUpdate, Title = aRecord.Title),
        If(IsBlank(aLookup),
            Patch(TestUpdate, Defaults(TestUpdate),
            {
                Title: aRecord.Title,  
                Description: aRecord.Description, 
                Quantity: Value(aRecord.Quantity) 
            }
            ),
            Patch(TestUpdate, aLookup,
            {
                Quantity: Value(aRecord.Quantity) 
            } // If a record exists, update the quantity only
            )
        )
    )
);

Note, you will need to clear your table or remove the duplicate records first.

_________________________________________________________________________________________
Help the community help more users by choosing to "Accept as Solution" if this post met your needs. If you liked the post and want to show some appreciation, please give it a Thumbs Up.

Gochix_0-1632514749908.png

Invalid numbers of arguments, received 3, expected 2. I thought that one of } is still open but can't figure out where.

Oops, my mistake (I was free typing). It is missing a "}" on the aLookup record

 

ForAll(UpdateList As aRecord,
    With({aLookup: LookUp(TestUpdate, Title = aRecord.Title)},
        If(IsBlank(aLookup),
            Patch(TestUpdate, Defaults(TestUpdate),
            {
                Title: aRecord.Title,  
                Description: aRecord.Description, 
                Quantity: Value(aRecord.Quantity) 
            }
            ),
            Patch(TestUpdate, aLookup,
            {
                Quantity: Value(aRecord.Quantity) 
            } // If a record exists, update the quantity only
            )
        )
    )
);

 

_________________________________________________________________________________________
Help the community help more users by choosing to "Accept as Solution" if this post met your needs. If you liked the post and want to show some appreciation, please give it a Thumbs Up.

Thanks, I was about to reply that i found a typo mistake.

This finally works. 

Thank you so much for your efforts. You literally saved me as i was desperate that my app was almost finished but i couldn't get an update feature ready..

Thanks and enjoy your evening/night 😉

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.

Carousel_PP_768x460_Wave2 (1).png

2022 Release Wave 2 Plan

Power Platform release plan for the 2022 release wave 2 describes all new features releasing from October 2022 through March 2023.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Top Solution Authors
Users online (3,885)