This PowerApps solution addresses the 2000 rows limit in querying Sharepoint Lists. This code can be triggered OnStart of the App, OnVisible of a page or OnSelect of a button.
The code below can be used, provided you already have an established connection between your PowerApp and Sharepoint List.
//COLLECT ITEMS FROM IDs 1-8000
Concurrent(
ClearCollect(<COLLECTION_CONCURRENT_1A>,
Filter(SortByColumns(<SHAREPOINTLIST>,"ID",SortOrder.Ascending),
ID>0 And ID<4000
&& <YOUR_OTHER_FILTER_CONDITIONS_HERE>
)),
ClearCollect(<COLLECTION_CONCURRENT_1B>,
Filter(SortByColumns(<SHAREPOINTLIST>,"ID",SortOrder.Ascending),
ID>0 And ID<4000
&& <YOUR_OTHER_FILTER_CONDITIONS_HERE>
)),
ClearCollect(<COLLECTION_CONCURRENT_2A>,
Filter(SortByColumns(<SHAREPOINTLIST>,"ID",SortOrder.Ascending),
ID>0 And ID<4000
&& <YOUR_OTHER_FILTER_CONDITIONS_HERE>
)),
ClearCollect(<COLLECTION_CONCURRENT_2B>,
Filter(SortByColumns(<SHAREPOINTLIST>,"ID",SortOrder.Ascending),
ID>0 And ID<4000
&& <YOUR_OTHER_FILTER_CONDITIONS_HERE>
)),
);
//MERGE COLLECTED ITEMS INTO COLLECTIONS. FIRST COLLECTION IS ITEMS WITH IDs 1-4000, SECOND COLLECTION IS FOR ITEMS WITH IDs 3999-8000.
Concurrent(
ClearCollect(MERGED_COLLECTION1,
COLLECTION_CONCURRENT_1A,
Filter(COLLECTION_CONCURRENT_1B,
Not(ID in COLLECTION_CONCURRENT_1A.ID))),
ClearCollect(MERGED_COLLECTION2,
COLLECTION_CONCURRENT_2A,
Filter(COLLECTION_CONCURRENT_2B,
Not(ID in COLLECTION_CONCURRENT_2A.ID)))
);
//MERGE ALL COLLECTIONS INTO ONE
ClearCollect(MERGED_COLLECTION,MERGED_COLLECTION1,MERGED_COLLECTION2);