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

VB 6 et antérieur Discussion :

Data report en VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut Data report en VB6
    Bonjour le forum,

    J'essaye de faire une application de facturation (en VB6 et utilisation dune base access) et je suis confronté à un probleme concernant le datareport.
    J'ai une facture avec plusieurs ligne de produits, le probleme est que si j'insere des txtbox dans le detail du datareport avec les données qui concernent les produits ET egalement le nom du client par exemple, j'aurais pour chaque ligne de produit le nom du client qui apparait dans le rapport.

    Ce que je souhaiterais c'est d'avoir le client en header du report mais impossible d'insérer des textbox dans le header du report.

    Comment contourner ce probleme ?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Par défaut
    Place le nom de ton client dans un label car eux, tu peux les mettre dans le header

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut
    Oui ok mais le rapport ne sera pas dynamique alors.

  4. #4
    Membre éprouvé
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Par défaut
    Là, je suis d'accord avec toi !

    Personnellement, je préfère passer par un Rs dans mon programme et allouer mes textboxes, je sais, c'est pas le but du DR mais, il est tellement faible niveau possibilités et flexibilité que je me suis débrouillée ainsi !

    Il y a même plein d'impression que je gère avec Printer plutôt que de passer par le DR ou alors je me sers d'Excel ou de Word !

    L'idéal est une solution Crystal Report que tu pilotes via VB mais, bon, ce logiciel n'est pas gratuit, loin de là

  5. #5
    Membre averti
    Inscrit en
    Août 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 15
    Par défaut
    J'espère que j'ai bien compris le probleme.Ben tu dois ajouter un entète de groupe et regrouper tes champs par clients.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut
    Re,

    Merci pour vos réponses...

    Je me doutais bien qu'il fallait que j'ai une entete de groupe mais impossible de la faire fonctionner. Je ne sais pas comment je dois faire avec ma requete sql.

    Acrobat Aurais-tu un exemple sous la main pour que je me base dessus ?

    Ou alors je joins mon projet et si vous pouvez regarder....

    Le code qui concerne le DR se trouve a la fin de frmMain

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Inscrit en
    Août 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
    Private Sub Form_Activate()
         BlockInput True
    End Sub

  8. #8
    Membre éprouvé
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Par défaut
    J'ai déjà essayé cela Acrobat mais lorsque j'ai des sous-groupes dans les factures (c'est un autre domaine mais qui peut se comparer à des factures), il n'arrive pas à scinder les groupes correctement et surtout à faire des PageBreak quand il faut !

    Par contre, à un seul niveau, c'est juste j'aurais du me souvenir de cette façon de faire

  9. #9
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Comme te l'as dit Acrobat tu fais clic droit sur command1, tu ouvres l'onglet
    regroupement, tu cliques "objet command de regroupement" et là tu sélectionnes tous les champs qui doivent être dans l'entête ( le nom, la civilité etc....)
    Quand tous tes champs de regroupement sont sélectoinner, cliques sur "appliquer".
    Dans les propriétés du datareport, tu mets à jour "datasource" et "datamember".
    Après tu fais un clic droit sur le datareport et tu selectionnes "extraire la structure". La tu as message qui t'averti que tous sera effacer, tu dis ok et normalement ton datareport contient une section de regroupement.

    Si c'est pas clair, je t'envoie un exemple de facturation qui fonctionne.

    Tu as aussi une possibilité de créer des commandes filles sans faire de regroupement mais qui donnent le même résultat.

  10. #10
    Membre éprouvé
    Inscrit en
    Mars 2005
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 131
    Par défaut
    salut

    j avais le même probléme, mais je l'ai résolu a l'aide du code
    Par exemple si t'as un Label(lblClient) dans une section de l'etat(Section2) dans un data report (drMonEtat), tu peux changer la propriété Caption du Label en travaillant avec les collections, alors on aura ce genre du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'Section2 est le nom de la sesction ou se trouve le controle lblclient
    drMonEtat.Sections("Section2").Controls("lblclient").Caption = "MonClient"
    'aprés on affiche l'etat
    drMonEtat.Show
    j espére qu ça va t aider

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut
    Re, Merci à tous pour vos réponses,...

    Je vais essayer les 2 solutions...
    Phillippef peux-tu m'envoyer ton exemple comme ca j'aurais plus facile

    Merci, je vous tient au courant du résultat

  12. #12
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Donc voilà la requête que j'ai utilisée pour éditer une facture.
    Cette requête fait appel à 7 tables :
    Sociétés (pour l'entête et le pied de facture),
    ClientsFichiers (pour le nom, l'adresse etc)
    ClientsFactures(pour les commandes, les livraisons etc)
    ClientsFacturesDétail (pour le détail de la facture)
    PaiementMode (pour les paiements par chèque etc)
    PaiementConditions (pour les paiements à 30 jours etc)
    Juridique (pour la forme de la société qui facture etc)
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    SELECT Sociétés.CléSociété, Sociétés.NomSociété, 
        Sociétés.SigleSociété, Sociétés.Adresse1, Sociétés.Adresse2, 
        Sociétés.CodePostal, Sociétés.Ville, Sociétés.Téléphone, 
        Sociétés.Portable, Sociétés.Fax, Sociétés.AdrInternet, 
        Sociétés.Capital, Sociétés.NumRC, Sociétés.LieuRC, 
        Sociétés.Siret, Sociétés.APE, Sociétés.TVAIntracom, 
        ClientsFichiers.CléClient, 
        ClientsFichiers.Adresse1 AS Adr1Cli, 
        ClientsFichiers.Adresse2 AS Adr2Cli, 
        ClientsFichiers.CodeClient, 
        ClientsFichiers.CodePostal AS CodPostCli, 
        ClientsFichiers.CodeTVA AS TVACli, ClientsFichiers.NomClient, 
        ClientsFichiers.Ville AS VilleCli, ClientsFactures.NumFacSys, 
        ClientsFactures.NumFac, ClientsFactures.TypDoc, 
        ClientsFactures.DateFact, ClientsFactures.DateCde, 
        ClientsFactures.NumCommande, 
        ClientsFactures.DateIntervention, 
        ClientsFactures.BonLivraison, ClientsFactures.Civilité, 
        ClientsFactures.NomCivilité, ClientsFactures.AdresseF1, 
        ClientsFactures.AdresseF2, ClientsFactures.CodePostalF, 
        ClientsFactures.VilleF, ClientsFacturesDétail.NumLigne, 
        ClientsFacturesDétail.RéfProduit, 
        ClientsFacturesDétail.Description, 
        ClientsFacturesDétail.CodeTVA, ClientsFacturesDétail.Quantité, 
        ClientsFacturesDétail.PrixUnitaire, 
        ClientsFacturesDétail.Remise, 
        ClientsFacturesDétail.Quantité * ClientsFacturesDétail.PrixUnitaire
         * (1 - ClientsFacturesDétail.Remise / 100) AS THT, 
        PaiementConditions.DescriptConditPaiemt, 
        PaiementMode.DescriptModePaiemt, 
        Juridique.TypeJuridiq
    FROM Sociétés, ClientsFichiers, ClientsFactures, 
        ClientsFacturesDétail, PaiementMode, PaiementConditions, 
        Juridique
    WHERE Sociétés.CléSociété = ClientsFichiers.CléSociété AND 
        ClientsFichiers.CléClient = ClientsFactures.CléClient AND 
        ClientsFichiers.CléClient = ClientsFacturesDétail.CléClient AND 
        ClientsFactures.NumFacSys = ClientsFacturesDétail.NumFacSys
         AND 
        ClientsFichiers.ModePaiemt = PaiementMode.CléModePaiemt AND
         ClientsFichiers.ConditionsPaiements = PaiementConditions.CléConditPaiemt
         AND Sociétés.CléJuridiq = Juridique.CléJuridiq AND 
        ClientsFactures.NumFacSys = NuFac AND 
        (Sociétés.CléSociété = NumSoc)
    ORDER BY ClientsFacturesDétail.NumLigne
    Seule la table ClientsFacturesDétail est utilisée dans la section Détail, les autres tables servent au regroupement au niveau de la société et du client.

    Si tu suis ce que je t'ai dit ça doit marcher
    Je veux bien t'envoyer une copie d'écran, mais je sais pas faire.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Par défaut
    Merci, cela m' a fortement aidé...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR] liaison crystal report et vb6
    Par breizhange dans le forum SDK
    Réponses: 7
    Dernier message: 10/08/2015, 13h29
  2. Paramétrer Data Report sur VB6
    Par GUYSERGE dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 11/04/2008, 16h46
  3. [VB6]Data report & impression
    Par Yannv dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 21/09/2007, 09h40
  4. [VB6] Sélection d'une imprimante dans un data report
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/04/2006, 18h08
  5. Data Report : section détail (section 1)
    Par mosquitout dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 23/12/2005, 15h53

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