cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Frequent Visitor

Using an increment within ForALL

Seemingly simple requirement - want to go through a table looking for  a certain ID and then tag a field within the table with values "01" ," 02", "03" based on how many rows. 

 

So first i filtered all rows required in a collection 

ClearCollect(myrows, Filter (mytable, Field = mycondition));

 

The used a forall 

 

ForAll (

myrows,

Patch(

mytable,

mytable.ID = myrows.ID,

{myfield: Text(Index,"00")},

))

 

Now how do i increment the Index so the next record gets patched with 02 in the forall? 

 

alternatively any other way to approach this problem. any advice appreciated. 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Community Support
Community Support

Hi @altafr ,

Do you want to auto-increment the Index value within your ForAll formula?

 

Based on the needs that you mentioned, if you want to auto-increment the Index value within your ForAll formula, I afraid that there is no direct way to achieve your needs.

 

As an solution, I think a collection could achieve your needs. Please consider modify your formula as below:

Clear(TempCollection);
ForAll (
        myrows,
        Collect(TempCollection, 1);
        Patch(
              mytable,
              LookUp(mytable, ID = myrows[@ID]),
              {
                myfield: Text(CountRows(TempCollection),"00")
              }
         )
)

 

Please consider take a try with above solution, then 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.

View solution in original post

2 REPLIES 2
Super User III
Super User III

@altafr 

 

Give this a try...

 

Clear(myrows);
ForAll(Filter(mytable, Field = mycondition),
    Collect(myrows,
            {myID: ID,
             myIndex: CountRows(myrows)
            }
    )
);

 

Then for your patch:

ForAll (myrows,
   UpdateIf(mytable,
            ID = myID,
           {myfield: Text(myIndex,"00")}
   )
)

 

I hope this is helpful for you.

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up. Solved your problem? - Click on Accept as Solution. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too!
Community Support
Community Support

Hi @altafr ,

Do you want to auto-increment the Index value within your ForAll formula?

 

Based on the needs that you mentioned, if you want to auto-increment the Index value within your ForAll formula, I afraid that there is no direct way to achieve your needs.

 

As an solution, I think a collection could achieve your needs. Please consider modify your formula as below:

Clear(TempCollection);
ForAll (
        myrows,
        Collect(TempCollection, 1);
        Patch(
              mytable,
              LookUp(mytable, ID = myrows[@ID]),
              {
                myfield: Text(CountRows(TempCollection),"00")
              }
         )
)

 

Please consider take a try with above solution, then 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.

View solution in original post

Helpful resources

Announcements
New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

Power Apps Community Call

Power Apps Community Call: February

Did you miss the call? Check out the Power Apps Community Call here.

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

Top Solution Authors
Top Kudoed Authors
Users online (66,735)