1. #1
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut Créer simplement des états en VB6

    Bonjour,

    Dans un projet VB6, je crée des listes destinées à être imprimées. Pour ne pas passer trop de temps avec Access, Word, Crystal Report ou autres, j'ai constitué ces listes sous forme de fichiers textes, en calculant moi-même les positions des caractères, en utilisant des "+", des "-" et des "!" pour dessiner les tableaux ! Comme on faisait dans les années 80, quoi ! Voyez un exemple :

    Nom : etat caractere.jpg
Affichages : 148
Taille : 83,6 Ko

    Alors voilà, c'est assez moche . Je n'ai pas envie d'utiliser Access (lourdeur, prix du runtime, etc). Ni Crystal Report, que je ne connais pas du tout. J'ai essayé Word, mais ça me paraît compliqué, par exemple dès que je veux créer un doc Word avec un logo, des tableaux, du texte ...

    Ma question : n'y a-t-il que ces solutions-là pour créer un "rapport", du moins un document qui soit joli et dans lequel j'insère un tas de données préparées dans des "array" VB6 ?

    Merci d'avance pour vos idées et suggestions.

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 139
    Points : 8 326
    Points
    8 326

    Par défaut

    Salut

    Voir le composant MSHFlexGrid (Microsoft Hierarchical FlexGrid Control 6.0, MSHFLXGD.oca).
    Pour imprimer le MSHFlexGrid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Printer.PaintPicture MSHFlexGrid1.Picture, 0, 0
        Printer.EndDoc
    pour imprimer le Form complet
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    Merci ProgElecT, je vais tester ça.

  4. #4
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 663
    Points : 48 153
    Points
    48 153

    Par défaut

    Bonjour

    En complément un excellent tuto sur le sujet : https://vb.developpez.com/bidou/vb-impression/

    Philippe
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint et n'oubliez pas de consulter les FAQs MS Office

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    mars 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 261
    Points : 212
    Points
    212

    Par défaut

    Les réponses qui t'ont été données répondent à ta demande. Par contre, je te conseille de ne pas hésiter à utiliser crystal reports, c'est fait pour, et pas compliqué surtout pour faire des rapports basics. Sinon ta discussion m'a rappelé le temps du Cobol, où l'imprimante était un fichier séquentiel comme ta copie d'écran

  6. #6
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    Merci JustGreat !

    En effet tu as tout compris, j'ai 63 ans et un long passé d'informaticien développeur derrière moi !

    Je vais regarder aussi Crystal Report. C'est payant ?

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    mars 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 261
    Points : 212
    Points
    212

    Par défaut

    Citation Envoyé par jack554 Voir le message
    Merci JustGreat !

    En effet tu as tout compris, j'ai 63 ans et un long passé d'informaticien développeur derrière moi !

    Je vais regarder aussi Crystal Report. C'est payant ?

    Crystal Reports dans le temps que je l'utilisais il était pour Seagate, puis il a été racheté par Bo....il n'était pas payant si tu l'utilisais dans VB, mais payant si tu l'acheté en tant que produit à part. Il y avait je pense un accord entre Seagate et Microsoft pour l'intégrer dans Visual Studio gratuitement.
    Pour résumer, dans le cadre de ton utilisation, il n'est pas payant.
    Je pense que celui que tu trouveras dans visual studio pour vb 6, est la version 6.0 de crystal reports, elle doit te suffire pour faire ce que tu veux.

    Vu ton expérience tu ne trouveras pas du mal à comprendre son fonctionnement, et faire des rapports. Je suis sûr que ça te prendra moins de temps qu'à dessiner tes éditions dans des fichiers textes et d'apprendre le MSHFlexGrid

  8. #8
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    Mais ... euh ... je le trouve où ?

    Pas de Crystal.exe dans C:\Program Files(x86)\Microsoft Visual Studio ...

    12h08 : sorry, il y a des choses sur le CD d'install de VB, je regarde.

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    mars 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 261
    Points : 212
    Points
    212

    Par défaut

    ça fait vraiment longtemps que je n'ai pas utilisé, et je n'ai pas visual studio 6 pour te répondre là, mais cet article répond à ta question

    https://support.microsoft.com/fr-fr/...sual-basic-6.0

  10. #10
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    T'inquiète, on trouve des ressources sur développez.com

    https://www.developpez.net/forums/d3...al-report-vb6/

    Merci à tous, je clos le sujet.

  11. #11
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    Aïe, Crystal Reports (et d'autres fabricants d'états) semblent toujours se connecter à une base de données ...

    Or moi je n'ai que des tableaux mémoire (array), dont je veux juste créer une "page" jolie avec des tableaux, une entête, un logo ... !

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    mars 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 261
    Points : 212
    Points
    212

    Par défaut

    Tu peux l'utiliser avec des Dataset sans base de données, mais je ne sais pas si tu peux avoir des fichiers plats, à voir avec l'ami commun de tout le monde Mr Google

  13. #13
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 139
    Points : 8 326
    Points
    8 326

    Par défaut

    Salut

    Il est évident que le plus propre serait d'utiliser Crystal Reports.

    Une autre possibilité est de créer un fichier dessin avec n'importe quel de tes programmes préférés de dessin.
    Tu y dessines un beau tableau, une belle entête, enfin tout ce que tu veux, tu sauvegardes sous .BMP pour le conserver le plus proprement possible.

    Tu le charges sur ton Form, ne pas oublier --> Form.AutoRedraw = True.

    Pour le reste, tu l'a déjà apparemment, une suite de Me.CurrentX = ???: Me.CurrentY = ???: Print MeArray(x)
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  14. #14
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    Non, vraiment, toutes les discussions que j'ai trouvées parlent de fichiers .db .mdb ou .dbf comme fichiers de données accessibles par crystal reports, jamais de fichier texte ou .csv. Si j'essaie d'en charger un dans crystal report ça ne fonctionne pas.

    Ton idée de fichier .bmp n'est pas mal, ProgElect, mais c'est vraiment "figé" ...

    JustGreat, c'est quoi un "Dataset sans base de données" ?

  15. #15
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 139
    Points : 8 326
    Points
    8 326

    Par défaut

    Re
    Citation Envoyé par jack554 Voir le message
    ...........
    Ton idée de fichier .bmp n'est pas mal, ProgElect, mais c'est vraiment "figé" ...


    Un exemple, sur un Form 4 CommandButtons, 1 PictureBox et 1 VScroll et ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Option Explicit
    Private Sub Form_Load()
    Me.Height = 8450: Me.Width = 12195
    Me.ScaleMode = 6
     
    Picture1.Move 1, 7.5, 200, 280: Picture1.AutoRedraw = True: Picture1.ScaleMode = 6
    Command1.Move 2, 1, 31, 5.5: Command1.Caption = "Charger picture"
    Command2.Move 35, 1, 31, 5.5: Command2.Caption = "Ecrire"
    Command3.Move 68, 1, 31, 5.5: Command3.Caption = "Effacer"
    Command4.Move 100, 1, 31, 5.5: Command4.Caption = "Imprimer"
    VScroll1.Move 203, 7.5, 5.5, 100: VScroll1.Max = 150: VScroll1.Min = 0
     
    End Sub
     
    Private Sub Command1_Click()
    Picture1.Picture = LoadPicture("C:\PersoFrancis\Tableau.bmp")
    End Sub
    Private Sub Command2_Click()
    Picture1.CurrentX = 20
    Picture1.CurrentY = 32
    Picture1.Print "A que coucou"
    End Sub
    Private Sub Command3_Click()
    Picture1.Cls
    End Sub
    Private Sub Command4_Click()
    'Printer.PaintPicture Picture1.Image
    End Sub
    Private Sub VScroll1_Change()
    Picture1.Top = 7.408 + -VScroll1.Value
    End Sub
    Private Sub VScroll1_Scroll()
    VScroll1_Change
    End Sub
    Le dessin tableau.bmp n'est que le dessin des choses qui ne change pas d'un état à l'autre.
    Entre chaque état, un Cls efface toutes les données Array dessinées précédemment par les Picture1.Print.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  16. #16
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    Oui ça marche mais quel boulot pour moi pour tout réécrire en positionnant chaque info dans le "tableau" graphique ... Ça me paraît irréalisable car j'ai des tas de tableaux que j'utilise pour créer mes fichiers texte, imprimables directement (mais moches ! )

    Bref je vais regarder tout ça, merci à tous.

  17. #17
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 139
    Points : 8 326
    Points
    8 326

    Par défaut

    Re
    Dans ton 1er message
    Citation Envoyé par jack554
    Dans un projet VB6, je crée des listes destinées à être imprimées
    .................................................................
    j'ai constitué ces listes sous forme de fichiers textes
    Pourrais tu mettre en pièce jointe 2 de ces fichiers, il doit y avoir moyen de les utiliser pour générer la page dans vb6, en remplaçant/supprimant les trucs moches, ne conserver que les données pour les placer sur l'image d'un tableau.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  18. #18
    Membre régulier
    Inscrit en
    février 2003
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 122
    Points : 85
    Points
    85

    Par défaut

    Oui voilà.

    Tu remarqueras que j'insère aussi un caractère hexa "0C" pur les sauts de page imprimante ...
    Fichiers attachés Fichiers attachés

  19. #19
    Membre actif
    Profil pro
    Inscrit en
    mars 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 261
    Points : 212
    Points
    212

    Par défaut

    Tu peux dans les outils d'administration aller créer dans ODBC un DSN (source de base de données) à partir de ton fichier text, et dans Crystal Reports utiliser ce DSN créé comme source.
    En gros, il faut aller dans Outil d'administration, ensuite Sources de données (ODBC)
    Après dans système DSN "ODBC ADMINISTRATION SOURCE DE DONNEE)
    cliquer sur ajouter et choisir microsoft text driver (.txt, csv)
    ensuite suivre les étapes
    et dans crystal reports, tu vas dans ajouter nouvelle connexion, tu trouveras ton DSN dans les connexions ODBC
    ou dao je ne sais plus je ne l'ai pas sous les yeux mais quelque chose du genre.

    Après je pense qu'il faut délimiter ton text par des virgule etc....à tester le rendu pour savoir.


    Sinon un DataSet c'est une sorte d'un tableau qui contient une ensemble de données, souvent on charge une table d'une base de données dans un dataset et on travaille dessus pour pas travailler direct sur la table, je te laisse faire une recherche sur google y a pleins d'exemple, et différente façon de remplir un dataset.

    Je pense si tu ne connais pas qu'est ce qu'un dataset ou les odbc le plus simple pour toi serais de créer une image comme suggérer par progelect et d'oublier à propos de Crystal Reports

  20. #20
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 139
    Points : 8 326
    Points
    8 326

    Par défaut

    Salut

    Désolé mais bien qu'étant moi aussi à la retraite, je n'ai pas arrêté depuis ce matin .

    dans la pièce joint, un programme qui transforme le fichier (bouton Mod. Fichier) FEUILLES.TXT en trois autres FEUILLES_0.TXT, FEUILLES_1.TXT et FEUILLES_2.TXT.
    1 bouton Charger picture pour charger l'image du tableau.
    1 bouton Charger Fichier pour charger le fichier Data (FEUILLES_0.TXT ...... _1 et/ou _2
    1 bouton Aperçu
    enfin le bouton Imprimer
    Ce dernier bouton, je n'ai pas pu l’expérimenter car je n'ai plus d'imprimante pour le moment, donc j'ai l'espoir que cela fonctionnera

    le programme contient déjà la possibilité de rentrer des scores, on en reparlera si tu y trouves une utilité.
    Fichiers attachés Fichiers attachés
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PowerShell] créer simplement des fonctions
    Par jecpa100 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 30/01/2017, 12h12
  2. Logiciel pour créer simplement des animés
    Par Cyanatide dans le forum Vidéo
    Réponses: 0
    Dernier message: 31/10/2016, 14h57
  3. un plug-in pour créer simplement des applets?
    Par canary dans le forum Débuter
    Réponses: 4
    Dernier message: 24/04/2008, 10h30
  4. créer des états de synthèse
    Par Maria1505 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 23/08/2007, 22h55
  5. [Reporting] Comment créer des états Crystal Report à partir de VB6 ?
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/09/2006, 15h20

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