DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ Table / Table fichier
  • Présentation
  • Champ Table fichier basé sur une requête indépendante (non paramétrée)
  • Principe
  • Utilisation des fonctions HAnnuleDéclaration / HLibèreRequête
  • Actualisation du contenu de la requête
  • Champ Table fichier basé sur une requête intégrée (non paramétrée)
  • Principe
  • Actualisation du contenu de la requête
  • Champ Table fichier basé sur une requête paramétrée (indépendante ou intégrée)
  • Principe
  • Passage de paramètres à la requête : notation .
  • Cas particuliers : Initialisation d'un champ Table ou utilisation de TableAffiche sans la constante taRéExécuteRequête
  • Cas particulier : Utilisation de la fonction TableAffiche avec la constante taRéExécuteRequête
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Champs Table, Liste et Combos fichier liés à des requêtes
ODBCNon disponible avec ce type de connexion
Présentation
Un champ Table, Liste ou Combo peut être utilisé pour afficher le contenu d'un fichier de données ou d'une requête.
Un champ Table, Liste ou Combo peut être liée à :
  • une requête indépendante. Cette requête existe déjà dans le projet : il suffit de sélectionner cette requête parmi les requêtes de votre projet.
  • une requête intégrée au champ : cette requête sera créée dans l'assistant de création du champ Table (Liste ou Combo). Cette requête sera disponible uniquement pour ce champ et sera sauvegardée avec la fenêtre (ou la page) qui l'utilise. Dans ce cas, la fenêtre (ou la page) contient tous les éléments qui sont nécessaires à son fonctionnement.
  • une requête paramétrée : cette requête (indépendante ou intégrée) nécessite des paramètres pour s'exécuter et afficher le résultat dans le champ Table, Liste ou Combo.
Remarque : Cette page d'aide présente le cas des champs Table, mais le fonctionnement est identique pour les champs Liste et Combo.
Champ Table fichier basé sur une requête indépendante (non paramétrée)

Principe

Un champ Table fichier basé sur une requête indépendante (non paramétrée) affiche les enregistrements de cette requête.
Par défaut, la requête est exécutée et chargée en mémoire lors de sa première utilisation. Le résultat d'une requête utilisée dans un champ Table fichier reste en mémoire lors de la fermeture de la fenêtre associée. Si cette requête est ré-utilisée, elle ne sera pas ré-exécutée.
Pour ré-exécuter cette requête, il est nécessaire d'utiliser :

Utilisation des fonctions HAnnuleDéclaration / HLibèreRequête

  • Si la fonction HAnnuleDéclaration n'est pas appelée, la prochaine initialisation du champ Table (réouverture de la fenêtre par exemple) ne ré-exécutera pas la requête. Les données récupérées lors de la dernière exécution de la requête seront utilisées. Si le champ Table est basé sur une requête paramétrée, consultez le paragraphe "Champ Table fichier basé sur une requête paramétrée (intégrée ou non)".
  • Si la fonction HAnnuleDéclaration est appelée, la prochaine initialisation du champ Table (réouverture de la fenêtre par exemple) ré-exécutera la requête.
Note : La fonction HLibèreRequête est basée sur la fonction HAnnuleDéclaration. Leur fonctionnement est identique.
Exemple :
// Code de fermeture de la fenêtre
HAnnuleDéclaration(TABLE_MaTable.FichierParcouru)

Actualisation du contenu de la requête

Il est possible de forcer la ré-exécution de la requête avec la fonction TableAffiche (ou ListeAffiche pour un champ Liste ou Combo) en utilisant la constante taRéExécuteRequête.
Champ Table fichier basé sur une requête intégrée (non paramétrée)

Principe

Un champ Table fichier basé sur une requête intégrée (non paramétrée) affiche les enregistrements de cette requête.
Par défaut, la requête est exécutée et chargée en mémoire lors de l'affichage du champ Table. Le résultat d'une requête intégrée à un champ Table fichier est automatiquement effacé de la mémoire lors de la fermeture de la fenêtre associée. Si cette requête est ré-utilisée, elle sera ré-exécutée.

Actualisation du contenu de la requête

Il est possible de forcer la ré-exécution de la requête avec la fonction TableAffiche (ou ListeAffiche pour un champ Liste ou Combo) en utilisant la constante taRéExécuteRequête.
Champ Table fichier basé sur une requête paramétrée (indépendante ou intégrée)

Principe

Lorsqu'un champ Table fichier est lié à une requête paramétrée (indépendante ou intégrée), il est nécessaire de passer des paramètres à la requête avant de l'exécuter.
Si ces paramètres ne sont pas spécifiés avant la première exécution de la requête, la requête ne sera pas exécutée, et le champ Table restera vide.
Pour passer les paramètres à la requête, il est possible :
  • soit de spécifier les paramètres un par un en utilisant :
    • la notation suivante :
      <Nom Requête>.<Nom Paramètre1> = xxx
      <Nom Requête>.<Nom Paramètre2> = xxx
      <Nom Requête>.<Nom Paramètre3> = xxx

      Dans ce cas, la requête est automatiquement exécutée lors de l'initialisation du champ Table.
    • le mot-clé MaSource :
      MaSource.<Nom Paramètre1> = xxx
      MaSource.<Nom Paramètre2> = xxx
      MaSource.<Nom Paramètre3> = xxx
    • l'indirection :
      {"<Nom Requête>.<Nom Paramètre1>"} = xxx
      ou
      {"<Nom Requête>"}.<Nom Paramètre1> = xxx
  • soit de spécifier les paramètres en une seule fois à l'aide de la fonction HExécuteRequête.
Ce passage de paramètres peut être utilisé par exemple dans le code de déclaration des globales de la fenêtre ou dans le code d'initialisation du champ Table.
Pour prendre en compte ces paramètres, il suffit d'utiliser la fonction TableAffiche (ou ListeAffiche pour un champ Liste ou Combo).
Pour re-exécuter la requête avec des paramètres différents, il suffit de spécifier ces nouveaux paramètres puis d'utiliser la fonction TableAffiche (ou ListeAffiche pour un champ Liste ou Combo).

Passage de paramètres à la requête : notation <Nom Requête>.<Nom Paramètre1>

Tous les paramètres de la requête ne doivent pas obligatoirement être précisés. Les conditions de la requête utilisant des paramètres non précisés seront ignorées. Pour plus de détails sur le passage de paramètres à une requête, consultez Méthodes à utiliser pour passer des paramètres à une requête.
Remarque : Si aucun paramètre de la requête n'est spécifié avant sa première exécution, la requête ne s'exécutera pas. Le champ Table associée à la requête restera vide.
Attention : A chaque exécution de la requête, tous les paramètres de la requête sont ré-initialisées. Les valeurs précédemment utilisées ne sont pas conservées. Il est nécessaire de redéfinir les paramètres souhaités de la requête pour l'exécuter à nouveau.

Cas particuliers : Initialisation d'un champ Table ou utilisation de TableAffiche sans la constante taRéExécuteRequête

  • Si aucun paramètre de la requête n'a été modifié depuis la dernière exécution de la requête, la requête n'est pas ré-exécutée. Le champ Table affichera les enregistrements correspondants à la dernière exécution de la requête.
  • Après modification des paramètres de la requête, la fonction TableAffiche (ou ListeAffiche pour un champ Liste ou Combo) permet de ré-exécuter la requête. Le champ Table affiche alors les enregistrements correspondant aux paramètres spécifiés.

Cas particulier : Utilisation de la fonction TableAffiche avec la constante taRéExécuteRequête

Pour forcer la ré-exécution de la requête, il suffit d'utiliser la fonction TableAffiche (ou ListeAffiche pour un champ Liste ou Combo) avec la constante taRéExécuteRequête.
Rappel : La structure des paramètres de la requête étant ré-initialisée à chaque exécution de la requête, n'oubliez pas de re-définir les paramètres souhaités avant d'utiliser cette fonction.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 23/06/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale