cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
31 août 2008 à 16:23
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
31 août 2008 à 23:31
Bonjour,
J'ai un problème dans access pour l'instantiation d'un type personnalisé.
J'ai écrit :
Public Type MyType
AA As String
End Type
Puis au clique d'un bouton, j'invoque le code suivant :
Dim a As MyType
a = New MyType
J'obtiens l'erreur suivante :
utilisation incorrect du mot clef new. Pourquoi ?
Je peux par contre écrire
Dim a As MyType
a.AA = "jdvklfd"
il semble donc qu'il ne soit pas possible d'instantier un type personnalisé. Ou alors il faut lui définir un constructeur ? Quelle serait la syntaxe ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 31 août 2008 à 17:59
salut,
pour ton exemple tu n'as pas besoin de classe
mais sinon, tu ajoutes une classe à ton projet, nommée MyType elle contiendra juste :
Public AA As String
et là alors tu pourras l'initialiser par :
Dim a As New MyType
a.AA = "jdvklfd"
PS : attention au thème, VBA n'est pas VB6, voir "VB6\langages dérivés\VBA"
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Vous n’avez pas trouvé la réponse que vous recherchez ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 31 août 2008 à 19:11
effectivement si après tu lis mal ^^ sans méchanceté
"Dim C As Class1
Set C = New Class1"
donc comme j'ai inqué :
Dim a As New MyType
a.AA = "jdvklfd"
et si vraiment tu ne veux pas mettre NEW de suite, alors :
Dim a As <strike>New</strike> MyType
Set a = New MyType
a.AA = "jdvklfd"
ce qui te fait une ligne de plus pour rien...
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp