Accueil du site > Les articles > Passer des variables aux querys
Version à imprimer Enregistrer au format PDF

Passer des variables aux querys

dimanche 30 mai 2004, par Didier Encinas Visites  3689 Première mise en ligne le lundi 16 février 2004.

Cela peut paraitre surprenant, mais tout le monde ne se sert pas encore de SQL
Certains utilisent encore QUERY, si, si, moi aussi


Un excellent outil, d’ailleurs


Ce pré-en-bulle ;-)) clos, venons en aux choses sérieuses

Il existe une méthode simple pour executer des Querys avec des variables passées en paramètre.


  1. Créons un query ARTICLES.
  2. Précisons le/les fichiers à manipuler (ie : BASART)
  3. Dans l’option "sélection des enregistrements", on ajoute nos conditions. Pour celle(s) que l’on veut recevoir en variable, on les préfixe par " :"
    	Champ	test	valeur
    	CARTH2	EQ	:CODART
    
  4. En appuyant sur ENTREE, l’écran suivant devrait apparaitre

    Type de qualifiant	1	
    

    Query ou fichier INUTILE bibliothèque QGPL

    Le paramètre "Query ou Fichier" permet d’alimenter cette variable à partir d’un fichier ou du résultat d’un autre query. Dans notre exemple, on se contentera de passer la valeur en paramètre (voir plus loin)
  5. Il ne reste plus qu’à Sortir (F3)
    Un message d’avertissement devrait vous prévenir que ce Query a besoin de paramètres pour pouvoir s’executer.
  6. On va enfin pouvoir tester ce QUERY
    STRQMQRY QMQRY(mabib/ARTICLES) ALWQRYDFN(*YES) +
    QMFORM(*QMQRY) SETVAR((CODART 0125440))

Pour les variables de type Alphanumérique, on va "jongler" un peu.

DCL VAR(&CHAR) TYPE(*CHAR) LEN(10)
DCL VAR(&GUIL) TYPE(*CHAR) LEN(1) VALUE(X’7D’)
DCL VAR(&TOT) TYPE(*CHAR) LEN(12)
CHGVAR VAR(&TOT) VALUE(&COM *TCAT &CHAR *TCAT &COM)


La variable &GUIL contient les quillements
La variable &CHAR contient la valeur à tester
La variable &TOT sera utilisée dans la commande STRQMQRY

P.-S.

A titre exeptionnel, vous avez eu droit à un petit baratin avant et après le bout de source.
Certes, seul le petit bout de source vous est utile.
D’ailleurs, c’est la seule partie que vous allez COPIER/COLLER
Mais, pour faire plaisir a certains critiques,
J’ai décider de faire un effort de rédaction.

PS bis : allez quand même faire un tour dans "RECHERCHE" et demandez "tous les articles SQL"

QUERYS, c’est bien, mais SQL, c’est tellement mieux !