IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Impression d'un état


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    pharmacien
    Inscrit en
    Novembre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : pharmacien
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 71
    Points : 47
    Points
    47
    Par défaut Impression d'un état
    Bonjour à tous,

    Je veux réaliser une liste d'attente pour mes patients en vue de réaliser la vaccination COVID

    Sachant qu'un flacon ne permet de réaliser que 10 vaccinations je souhaiterais que lors de l'édition de l'état qui reprend la liste des patients en attente chaque page n'édite automatiquement que les enregistrement avec 10 patients par page afin de les prévenir ensuite

    Est-ce que cela est possible avec un code dans l'état ou lors de l'impression ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 212
    Points : 9 220
    Points
    9 220
    Par défaut
    Bonjour,

    oui, c'est possible.

    Le principe : tu as une variable globale à l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int_NbPatients est entier = 0
    Après chaque ligne imprimée, tu incrémantes ta variable et si elle vaut 10, tu la mets à 0 et tu fais un saut de page.
    Dans le bloc corps, dans le code "après impression...", tu ajoutes le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int_NbPatients++
    SI int_NbPatients = 10 ALORS
         int_NbPatients = 0
         iTerminePage()
    FIN
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre du Club
    Homme Profil pro
    pharmacien
    Inscrit en
    Novembre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : pharmacien
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 71
    Points : 47
    Points
    47
    Par défaut Merci
    Merci beaucoup, je renseigne tout cela. Quelle réactivité !

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 815
    Points : 5 277
    Points
    5 277
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Une autre solution est d'utiliser la clause LIMIT dans ta requête. Cela peut te permettre de passer le nombre de patients à afficher/imprimer en paramètre (e.g. passage de 10 patients à 15)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre du Club
    Homme Profil pro
    pharmacien
    Inscrit en
    Novembre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : pharmacien
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 71
    Points : 47
    Points
    47
    Par défaut Merci également
    Merci également pour cette autre solution

    Il est vrai que mon projet est très simple et ma table est issue directement de mon fichier Patient sans passer par une requête, mais ta solution peut permettre des modifications sans devoir repasser par le code

    Je testerai

  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 212
    Points : 9 220
    Points
    9 220
    Par défaut
    Bonjour,

    si tu veux que ça soit paramétrable (avec ma solution), tu utiliser un paramètre pour le max, dans le code de déclaration de l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Procédure MonBelEtat(int_NbMaxParPage est entier)
    int_NbPatients est entier = 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int_NbPatients++
    SI int_NbPatients = int_NbMaxParPage  ALORS
         int_NbPatients = 0
         iTerminePage()
    FIN
    Code d'appel de l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iimprimeEtat(MonBelEtat, 10) // iimprimeEtat(MonBelEtat, 15)
    La valeur peut être stockée dans un fichier ini par exemple (ou base de registre,...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    iimprimeEtat(MonBelEtat, inilit(....))
    iimprimeEtat(MonBelEtat, RegistreLit(....))
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Membre du Club
    Homme Profil pro
    pharmacien
    Inscrit en
    Novembre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : pharmacien
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Je vais essayer

    C'est drôle parce que c'est la première fois que je cherche à réaliser des impressions fractionnées et au final c'est très pratique et utilisable pour pas mal d'applications

    Merci

Discussions similaires

  1. [CR][VB6] Impression d'un état depuis VB
    Par sda dans le forum SDK
    Réponses: 3
    Dernier message: 06/02/2007, 17h27
  2. Réponses: 2
    Dernier message: 28/09/2005, 19h49
  3. Aperçu et impression d'un état Crystal Reports 11 dans VB6
    Par badseyar dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/09/2005, 15h25
  4. Page blanche pour l'impression d'un état
    Par PAINCO dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 14h46
  5. [Rave reports] impression de plusieurs états ??
    Par Goldenkiller dans le forum Bases de données
    Réponses: 4
    Dernier message: 06/08/2004, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo