Var i let

Tant var com let es poden fer servir per declarar una variable. A diferència del que passa en JavaScript, a Ninox no hi ha cap diferència d'abast entre let i var.

El tipus de la variable depèn del tipus del valor que se li assigna:

var t := "my text";
var b := false;
var n := 10;

Una variable es pot declarar diverses vegades dins d'un mateix codi. En aquests casos, la variable conservarà el tipus i el valor que se li han assignat fins que s'arribi a la declaració nova:

var b := true;
dialog("Message 1", "Value of b: " + b, ["ok"]);
var b := 12;
dialog("Message 2", "Value of b: " + b, ["ok"]);

Confusió entre noms de variable i identificadors de taula o de camp

Ninox desa el codi en un format una mica diferent del que es mostra a la pantalla. Concretament, els noms dels camps i de les taules se substitueixen pels seus identificadors, que són lletres.

Per exemple, l'script següent, que calcula la suma dels articles venuts:

sum('Invoice Items'.Total)

Es desarà al codi de sistema d'aquesta manera, on D és l'identificador de la taula 'Invoice Items' i E és l'identificador del camp Total:

sum(D.E)

En aquest context, si es crea una variable D, pot confondre el compilador, ja que amb el codi de sistema següent no quedaria clar si D.E fa referència a una taula o a la variable D declarada abans:

(var D := "hello"; sum(D.E))

Per evitar aquestes confusions, cal donar a les variables noms que difícilment coincideixin amb identificadors de taula o de camp, ni amb noms de taula o de camp. Per això sovint les variables reben noms curts en minúscula (per exemple, a, b o c), per evitar que es confonguin amb identificadors.