# For..next

De besturingsopdracht for..next is een herhalingsconstructie voor gebruik in scripts met een teller. De opdrachten in de lus tussen for en next worden uitgevoerd voor elke waarde van de tellervariabele tussen (en met inbegrip van) de opgegeven onder- en bovengrens.

Syntaxis:

For counter = expr1 to expr2 [ step expr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

De uitdrukkingen expr1, expr2 en expr3 worden alleen de eerste keer dat de lus wordt ingevoerd geëvalueerd. De waarde van de tellervariabele kan worden gewijzigd door opdrachten binnen de lus. Dit is echter met het oog op de gebruikelijke manier van programmeren niet aan te raden.

Als een clausule exit for binnen de lus wordt aangetroffen, gaat de uitvoering van het script over op de eerste opdracht na de clausule next die het einde van de lus aangeeft. De clausule exit for kan voorwaardelijk worden gemaakt met het optionele suffix when of unless.

InformatieOmdat de opdracht for..next een besturingsopdracht is en dus wordt afgesloten door een puntkomma of het einde van een regel, mag geen van de drie mogelijke clausules ervan (for..to..step, exit for en next) de regelgrens overschrijden.

Argumenten:

Argumenten voor for

| Argument | Beschrijving |
| --- | --- |
| counter | De naam van een variabele. Als counter wordt opgegeven na next moet de variabele dezelfde naam hebben als de variabele die wordt gevonden na de overeenkomende for. |
| expr1 | Een uitdrukking die de eerste waarde van de variabele counter bepaalt waarvoor de lus wordt uitgevoerd. |
| expr2 | Een uitdrukking die de maximale waarde van de variabele counter bepaalt waarvoor de lus wordt uitgevoerd. |
| expr3 | Een uitdrukking die de waarde bepaalt van de stap waarmee de variabele counter toeneemt bij elke uitvoering van de lus. |
| condition | Een logische uitdrukking die resulteert in True of False. |
| statements | Een willekeurige groep van een of meer QlikView 12-scriptopdrachten. |

Voorbeeld 1: Een reeks van bestanden laden

`// LOAD 
 files file1.csv..file9.csv` `for a=1 
 to 9`

> `LOAD * from 
>  file$(a).csv;`

`next`

Voorbeeld 2: Een willekeurig aantal bestanden laden

In dit voorbeeld gaan we ervan uit dat we de gegevensbestanden x1.csv, x3.csv, x5.csv, x7.csv en x9.csv hebben. Het laden wordt bij een willekeurig punt gestopt met de voorwaarde `if rand(   )<0.5 then`.

`for counter=1 
 to 9 step 2`

> `set filename=x$(counter).csv;` `if rand( 
>  )<0.5 then`
>
> > `exit for 
> >  unless counter=1`
>
> `end if` `LOAD  a,b 
>  from $(filename);`

`next`

## Meer informatie

* [For each..next](https://help.qlik.com/nl-NL/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/For%20Each.htm)
* [Next](https://help.qlik.com/nl-NL/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/Next.htm)
* [To](https://help.qlik.com/nl-NL/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/To.htm)
* [Exit](https://help.qlik.com/nl-NL/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/Exit.htm)