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
secondImage

Experience what’s next for Power Apps

Join us for an in-depth look at the new Power Apps features and capabilities at the free Microsoft Business Applications Launch Event.

Power Apps Community Call

Power Apps Community Call: February

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

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

Top Solution Authors
Top Kudoed Authors
Users online (12,673)