DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'états / Sources de données
  • Présentation
  • Créer un état sur une requête SQL sur fichier via une connexion
  • Imprimer un état sur une requête SQL via une connexion
  • Exemple WINDEV et WEBDEV
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
Etat sur une requête SQL réalisée sur une connexion (ODBC, ...)
HFSQL ClassicHFSQL Client/ServeurNon disponible avec ces types de connexion
Avertissement
A partir de la version 19, ce type d'état n'est plus disponible en création. Les états existants continuent à fonctionner et peuvent être modifiés.
Présentation
Un état sur une requête SQL via une connexion permet d'imprimer des enregistrements provenant d'une base de données accessible via un driver ODBC spécifique ou via un Connecteur Natif. Cette requête est définie lors de la création de l'état.
Caractéristiques d'un état sur une requête SQL via une connexion :
  • les paramètres de la connexion (nom de la connexion, nom de l'utilisateur, ...). Ces paramètres permettent d'accéder aux enregistrements à imprimer dans l'état.
    Pour une connexion ODBC, ces paramètres sont définis dans l'administrateur ODBC (dans le panneau de configuration de Windows).
    Pour une connexion via Accès Natif, ces paramètres sont définis lors de configuration de la base de données.
  • le code SQL de la requête associée à l'état. Ce code doit obligatoirement correspondre à une requête de sélection (ordre "SELECT"). Cette requête permet de spécifier les différentes rubriques pouvant être imprimées dans l'état.
Attention : Ce code SQL doit être reconnu par la base de données accédée.
La création d'un état sur une requête SQL via une connexion s'effectue grâce à l'assistant de création d'un état.
Lorsque l'état sur une requête SQL via une connexion est créé, il est possible à tout moment de :
  • modifier le code SQL de la requête (onglet "Données" de la description de l'état).
  • modifier les paramètres de la connexion (onglet "Données" de la description de l'état).
  • ajouter ou supprimer des champs Rubriques liés à la requête SQL associée à l'état.
Créer un état sur une requête SQL sur fichier via une connexion
Pour créer un état sur une requête SQL sur fichier via une connexion :
  1. Cliquez sur parmi les boutons d'accès rapide.
    • La fenêtre de création d'un nouvel élément s'affiche : cliquez sur "Etat" puis sur "Etat".
    • L'assistant de création d'un état s'affiche.
  2. Choisissez la présentation de votre état (tableau, fiche, étiquette, ...). Pour plus de détails, consultez Les différents types d'états.
  3. Sélectionnez la source de données de l'état (option "D'une requête SQL par connexion").
  4. Sélectionnez dans la liste le type de connexion à utiliser (ODBC ou Accès Natif)
  5. Spécifiez les paramètres de la connexion :
    • le nom de la connexion.
    • le nom de l'utilisateur.
    • le mot de passe de l'utilisateur.
    • le nom de la base de données accédée (s'il en existe plusieurs).
  6. Saisissez le code SQL de la requête associée à l'état.
    Attention : Ce code SQL doit être reconnu par la base de données accédée.
  7. Pour grouper les enregistrements, il est possible de créer des ruptures sur les rubriques de tri. Pour créer des ruptures, répondez "Oui" à la question "Voulez-vous des ruptures dans l'état".
    L'étape suivante permet alors de sélectionner les rubriques de tri correspondant aux ruptures. Pour plus de détails sur les ruptures, consultez les Ruptures dans un état.
  8. Pour chaque rubrique de la requête affichée dans l'état :
    • saisissez le libellé correspondant. Ce libellé sera affiché :
      • soit avant la rubrique. Par exemple :
      • soit dans l'entête de la colonne (cas des états Tableau). Par exemple :
        Ce libellé pourra être modifié directement sous l'éditeur d'états.
    • sélectionnez le bloc dans lequel le champ associé à la rubrique doit être imprimé. La position des différents champs pourra être modifiée directement sous l'éditeur d'états. Pour plus de détails sur les différents blocs et sur leur position dans un état, consultez Blocs d'un état.
  9. Modifiez si nécessaire l'ordre d'affichage des différents champs dans l'état à l'aide des boutons fléchés à droite du tableau.
  10. Selon le type d'état en cours de création, indiquez les options spécifiques correspondantes.
    Type d'étatOptions spécifiques
    État sur formulaireImage du formulaire, impression de l'image du formulaire, ...
    Options détaillées dans la page Etat sur formulaire
    État ÉtiquetteFormat des étiquettes, nombre d'exemplaires identiques, ...
    Options détaillées dans la page Etat Étiquette
  11. Spécifiez le format de la feuille sur laquelle l'état va être imprimé. Par défaut, l'état est imprimé sur une feuille au format A4.
  12. Sélectionnez le gabarit de l'état si nécessaire.
  13. Saisissez le nom et le titre de l'état (nom du fichier ".WDE" correspondant à l'état). Ce nom permettra d'identifier l'état dans vos programmes.
  14. Validez la création de l'état.
  15. L'éditeur d'états propose automatiquement de changer le format de l'état utilisé si les conditions suivantes sont réunies :
    • l'état en cours de création comporte un tableau.
    • le format de l'état ne permet pas d'afficher l'ensemble des colonnes du tableau.
  16. Si nécessaire, indiquez le mode de réduction de l'état :
    • Imprimer l'état sur plusieurs pages. Dans ce cas, l'utilisateur final devra assembler les pages. Pour plus de détails, consultez Impression multipage.
    • Utiliser le mode paysage.
    • Réduire l'état par rapport à l'original. Attention : selon le pourcentage de réduction choisi, l'état imprimé pourra devenir illisible.
  17. L'état en cours de création s'affiche sous l'éditeur d'états.
Imprimer un état sur une requête SQL via une connexion
Pour imprimer un état sur une requête SQL via une connexion, il suffit de :
  1. Paramétrer la destination de l'impression de l'état :
    • WINDEV En WINDEV, grâce à la fonction iAperçu (aperçu avant impression, impression dans un fichier HTML, ...).
    • WEBDEV - Code Serveur En WEBDEV, grâce à la fonction iDestination (impression dans un fichier HTML, ...).
      Pour plus de détails, consultez Modes d'impression d'un état.
  2. Préciser le nom de l'état à imprimer grâce à la fonction iImprimeEtat.
Remarques :
Sous le logiciel Etats & Requêtes, il est possible d'imprimer un état :
  • soit en lançant une impression (icône ).
  • soit en testant l'état (icône ).
Il n'est donc pas nécessaire de programmer l'impression de l'état.
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindows

Exemple WINDEV et WEBDEV

L'état "ETAT_Client" est un état basé sur une requête SQL réalisée sur la base de données Access "Client". Cette base de données est accédée via le driver ODBC d'Access. Par défaut, cet état permet d'imprimer toutes les caractéristiques des clients.
L'utilisateur peut au choix :
  • cliquer sur le bouton "BTN_CaractéristiquesClient" pour imprimer toutes les caractéristiques des clients. Le code SQL de la requête ne sera pas modifié.
  • cliquer sur le bouton "BTN_NomPrénomClient" pour imprimer uniquement le nom et le prénom des clients. Le code SQL de la requête sera modifié.
Pour savoir si le code SQL de la requête doit être modifié ou non, un paramètre est passé à l'état :
  • "Vrai" : pas de modification du code SQL.
  • "Faux" : modification du code SQL.
Dans cet exemple :
  • le code de clic du bouton "BTN_CaractéristiquesClient" est le suivant :
    • WINDEV Code WINDEV :
      // Ouvrir la fenêtre d'aperçu
      iAperçu()
      // Imprimer l'état avec le passage de paramètre
      iImprimeEtat(ETAT_Client, "Vrai")
    • WEBDEV - Code Serveur Code WEBDEV :
      // Génère un nom de fichier PDF unique
      NomFicUnique est une chaîne = fRepWeb() + "\" + "EtatC0_" + DateSys() + HeureSys() + ".pdf"
      // Paramètre la destination de l'impression
      iDestination(iPDF, NomFicUnique)
      // Imprime l'état ETAT_Client avec le passage de paramètres
      iImprimeEtat(ETAT_Client, "Vrai")
      // Envoie le fichier dans le navigateur
      FichierAffiche(NomFicUnique, "application/pdf")
  • le code de clic du bouton "BTN_NomPrénomClient" est le suivant :
    • WINDEV Code WINDEV :
      // Ouvrir la fenêtre d'aperçu
      iAperçu()
      // Imprimer l'état avec le passage de paramètre
      iImprimeEtat(ETAT_Client, "Faux")
    • WEBDEV - Code Serveur Code WEBDEV :
      // Génère un nom de fichier PDF unique
      Fichier2 est une chaîne = fRepWeb() + "\" + "EtatC1_" + DateSys() + HeureSys() + ".pdf"
      // Paramètre la destination de l'impression
      iDestination(iPDF, Fichier2)
      // Imprime l'état ETAT_Client avec le passage de paramètres
      iImprimeEtat(ETAT_Client, "Faux")
      // Envoie le fichier dans le navigateur
      FichierAffiche(Fichier2, "application/pdf")
  • le code de l'événement "Ouverture" de l'état "ETAT_Client" est le suivant :
    // Récupérer le paramètre passé à l'état
    PROCÉDURE ETAT_Client(Choix)
    SI Choix = "Faux" ALORS
    // Modifier le code SQL
    ETAT_Client..ODBCCodeSQL = "Select Nom, Prénom FROM Client"
    FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 30/06/2023

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