Structure dans classe

Résolu
Anakkin Messages postés 10 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 19 mars 2008 - 14 oct. 2007 à 16:03
Anakkin Messages postés 10 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 19 mars 2008 - 14 oct. 2007 à 19:06
Bonjour,

j'ai actuellement un petit souci avec une structure dans ma classe. Je vous explique.

J'ai une classe document qui possède les propriétés Nom, Date et document:

Public Class Class1
    Private IDTransmission As String
    Private DateTransmission As String
    Private Destinataire As Integer
    Private NombreDocument As Integer
    Private dossier(50) As Document             

    Private Structure Document
        Private Emetteur As String
        Private NumDossierEmetteur As String
        Private NomDebiteur As String
        Private NombrePieceJointe As Integer
    End Structure

end class

tout est ok ormi mon array de "Document"
il est innaccessible de ma classe
Quand je sors ma structure de la classe. j'y ai acces
Que je declare en public ou private mes propriétés, c'est pareil
Mon_instance.document est accessible mais pas les variables de la structure.
Quyelqu'un peut il m'aider?

Merci d'avance
Iainh

4 réponses

Utilisateur anonyme
14 oct. 2007 à 18:53
Oui, c'est pas tout a fait ca.
tu as mis dans ta classe, une variable de type Document. C'est donc dans cette variable que tu dois aller :
fichier_xml.dossier.Emetteur

__________
Kenji
(
Nouveau forum VBA/Office
3
Utilisateur anonyme
14 oct. 2007 à 18:15
T'est sur d'avoir tout mis en public ?

Public Class Class1
    Public IDTransmission As String
    Public DateTransmission As String
    Public Destinataire As Integer
    Public NombreDocument As Integer
    Public dossier(50) As Document              

    Public Structure Document
        Public Emetteur As String
        Public NumDossierEmetteur As String
        Public NomDebiteur As String
        Public NombrePieceJointe As Integer
    End Structure
end class

__________
Kenji
(
Nouveau forum VBA/Office
0
Anakkin Messages postés 10 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 19 mars 2008
14 oct. 2007 à 18:40
Bonjour,
J'ai testé tout en public tout en private.
En fait j'ia acces a la propriété Document de mon instance, mais ca me propose pas les variables de la structure document, ca me propose juste Equals et referencesEquals

Je suppose que c'est peut etre un soucid e compatibilité, d'autant plus que j'aimerai que ma clase reste quadn meem private, ormi par les methodes qui modifiereont les variables.
Mais pour test avec ca, j'ai du mal.

mon code de la fonction:
Public Sub parse_XML(ByVal nomXML As String, ByVal location As String)

        Dim Doc_element, EDI_element, PJ_element As XmlNodeList
        Dim infos As XmlNodeList = XmlDoc.DocumentElement.GetElementsByTagName("DocADEC")
        Dim noeud, noeudDoc, noeudEDI, noeudPJ, noeudDocEnf As XmlNode
        XmlDoc.Load(location & "" & nomXML)
        Dim fichier_xml As Class_XML
        For Each noeud In infos
            Select Case noeud.LocalName
                Case "IDTransmission"
                    fichier_xml.IDTransmission = noeud.InnerText
                Case "DateTransmission"
                    fichier_xml.DateTransmission = noeud.InnerText
                Case "Destinataire"
                    fichier_xml.Destinataire = noeud.InnerText
                Case "NombreDocument"
                    fichier_xml.NombreDocument = noeud.InnerText
                Case "Document"
                    Doc_Element = XmlDoc.DocumentElement.GetElementsByTagName(noeud.LocalName)
                
                    For Each noeudDoc In Doc_element
                        For Each noeudDocEnf In noeud.ChildNodes
                            Select Case noeudDocEnf.LocalName
                                Case "Emetteur"
                               ' c'est ici que j'aimerai atteindre mes variables de la structure, mais pas moyen
                               normalement : fichier_xml.document.emetteur = noeudDocEnf.innerText
Mais j'accede pas au dela de document, il me le reconnait en temps que structure c'est tout
                                Case "NumDossierEmetteur"

                                Case "NomDebiteur"

                                Case "NombrePieceJointe"

                                Case "FichierEDI"

                                Case "PieceJointe"

                            End Select
                        Next
                    Next
            End Select
        Next

    End Sub

La classe:
Public Class Class_XML

    Public IDTransmission As String
    Public DateTransmission As String
    Public Destinataire As Integer
    Public NombreDocument As Integer
    Public dossier As Document                   'array de dossiers du XML

    Public Structure Document
        Public Emetteur As String
        Public NumDossierEmetteur As String
        Public NomDebiteur As String
        Public NombrePieceJointe As Integer
        Public File As FichierEDI
        Public Piece As PieceJointe
    End Structure

    Public Structure FichierEDI
        Public nom As String
        Public chemin As String
        Public type As String
    End Structure

    Public Structure PieceJointe
        Public nom As String
        Public chemin As String
        Public datepiece As String
        Public type As String
    End Structure

End Class

Je dois m'y prendre mal.
Merci pour l'aide
0
Anakkin Messages postés 10 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 19 mars 2008
14 oct. 2007 à 19:06
Ok merci je vois maintenant.

Je code depuis 3 jours non stop, je commence a me perdre. cc'ets le genre d'erreur qui se remarquent le lendemain a froid.
Merci pour ton oeil frais t'assure ^^

A bientot.
Iainh
0
Rejoignez-nous