Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1633 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Au secours! VB6 : Création dynamique d'objets dans datareport

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Au secours! VB6 : Création dynamique d'objets dans datareport

n°1527741
rayno
Posté le 13-03-2007 à 10:58:13  profilanswer
 

Salut tous le monde, voila j ai un petit souci avec le gestion dynamique de datareport, je m explique...
 
J ai créé un datareport dont les sources de données proviennent de tableaux dynamiques . Je voudrais afficher le contenu des elements de mes tableaux dans des objets label ou meme Text de mon datareport, ces objets devant être créé dynamiquement car ils dependent du nombre d éléments de mes tableaux... et la gros souci... Si je ne crée pas autant de label que d éléments de tableaux les suivants ne sont pas créés.
 
Voila mon code, les données des tableaux sont calculées puis stockées en fonction de données prélévées dans une DB access, ce code est executé à l init de mon data report.
 
NCont = 1
ReDim NumCont(NCont)
ReDim SomPoidsNet(NCont)
 
'Stockage des champs "Date" et "Contrat"
Param_Etats.Et_Adodc.Recordset.MoveFirst
DateLgnEnCours = Param_Etats.Et_Adodc.Recordset![Date]
NumCont(NCont) = CStr(Param_Etats.Et_Adodc.Recordset![Contrat])
 
'Stockage des totaux de Poids Net par num de contrat
Do While Not Param_Etats.Et_Adodc.Recordset.EOF
 
    If DateLgnEnCours >= DateDeb And DateLgnEnCours <= DateFin Then
       'Stockage du numéro de contrat suivant si il change
       If CStr(Param_Etats.Et_Adodc.Recordset![Contrat]) <> NumCont(NCont) Then
          NCont = NCont + 1
          ReDim Preserve NumCont(NCont)
          ReDim Preserve SomPoidsNet(NCont)
          NumCont(NCont) = CStr(Param_Etats.Et_Adodc.Recordset![Contrat])
       End If
       'Stockage du Poids Net par numéro de contrat
       SomPoidsNet(NCont) = SomPoidsNet(NCont) + Param_Etats.Et_Adodc.Recordset![Poids_Net]
    End If
    Param_Etats.Et_Adodc.Recordset.MoveNext
    DateLgnEnCours = Param_Etats.Et_Adodc.Recordset![Date]
 
Loop
 
'**** Remplissage des champs de la section 1 "Détails" (Création dynamique des Lbl)
With DR_Et_ContratsSynt
              .Refresh
        Set .DataSource = Param_Etats.Et_Adodc
             .DataMember = ""
 
        With .Sections("Section1" ).Controls
 
             For NCtrl = 1 To (NCont)
                 If TypeOf .Item(NCtrl) Is RptLabel Then
                           .Item(NCtrl).Caption = NumCont(NCtrl)
                 End If
             Next NCtrl
        End With
 
End With
 
 
Je galère depuis ce matin sur ce bout de code alors si quelqu un peut m aider, merci d avance


Message édité par rayno le 13-03-2007 à 20:09:10
mood
Publicité
Posté le 13-03-2007 à 10:58:13  profilanswer
 

n°1527775
jpcheck
Pioupiou
Posté le 13-03-2007 à 11:43:04  profilanswer
 

Quel bout de code te pond une erreur pour le moment stp ?

n°1527785
rayno
Posté le 13-03-2007 à 11:50:50  profilanswer
 

En ce qui concerne la gestion de mes tableaux ca fonctionne, par contre quand j arrive à la gestion de ma "section1" c'est la que ca ne fonctionne pas.
La cette partie du code gère des Label, j' ai donc "physiquement" créé un label nommé "Label1" puis un autre nommé "Label2" dans ma section1. Et le probleme c est qu il ne genere pas d erreur mais il affiche simplement les valeurs de mes 2 premiers elements de mon premier tableau (je me suis limité à l'affichage du premier tableau pour le moment) dans les Label 1 et 2, les labels suivants ne sont pas dynamiquement créés.
 

n°1527803
jpcheck
Pioupiou
Posté le 13-03-2007 à 12:10:17  profilanswer
 

tu peux gérer avec un compteur ("section" & i) par exemple :)

n°1527837
rayno
Posté le 13-03-2007 à 13:31:24  profilanswer
 

Ton idée est intéressante jpcheck mais dans mon cas ce n est pas le numéro de section que je dois faire evoluer mais les labels à linterieur de celle ci. Merci quand meme pour ta réponse ;-)

n°1527874
rayno
Posté le 13-03-2007 à 14:34:42  profilanswer
 

En fait la j explique mon problème pour ce cas particulier mais plus généralement la question serait :
 
Comment créer dynamiquement des objets de type text ou label dans un datareport dont la source de données ne provient pas d'une connexion à une base de données mais de variables à l intérieur du code (de type tableau ou meme variable simple).
 
Si quelqu un d autre à une idée ca m aidrait beaucoup! Merci d avance..:-)

n°1527897
jpcheck
Pioupiou
Posté le 13-03-2007 à 15:02:19  profilanswer
 

rayno a écrit :

Ton idée est intéressante jpcheck mais dans mon cas ce n est pas le numéro de section que je dois faire evoluer mais les labels à linterieur de celle ci. Merci quand meme pour ta réponse ;-)


 
ben controls("Label" & i) fonctionne aussi non ?  :sweat:  

n°1527920
rayno
Posté le 13-03-2007 à 15:28:25  profilanswer
 

oui mais il ne crée pas un nouveau label, il faut que celui ci existe deja sur le datareport, la ce qu il me faut c est les creer dynamiquement

n°1527943
jpcheck
Pioupiou
Posté le 13-03-2007 à 15:59:53  profilanswer
 

rayno a écrit :

oui mais il ne crée pas un nouveau label, il faut que celui ci existe deja sur le datareport, la ce qu il me faut c est les creer dynamiquement


ReDim sur un tableau de label par exemple ;)

n°1527967
rayno
Posté le 13-03-2007 à 16:32:19  profilanswer
 

meme si ces labels font parti d un tableau il ne seront pas créé...  
arff ca me gonfle ce truc, et dire que qd t associe une Db tout les objets suivant se créé tout seul..

mood
Publicité
Posté le 13-03-2007 à 16:32:19  profilanswer
 

n°1528058
rayno
Posté le 13-03-2007 à 18:00:17  profilanswer
 

Personne n' a d'idée?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Au secours! VB6 : Création dynamique d'objets dans datareport

 

Sujets relatifs
Création de site avec banniéreCréation d'une gallerie d'images a partir d'un répertoire
Vos techniques favorites pour la creation d'un siteCréation de maquettes mails
besoin d'aide pour création de site de chien virtuel[VB6] pb de crystal reports et debordement de pile
VB6 : DataReport et numéro de page [Trouvé]creation de tache outlook
[Résolu]Liste déroulante dynamique qui ne s'affiche pas 
Plus de sujets relatifs à : Au secours! VB6 : Création dynamique d'objets dans datareport


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR