Pour faciliter une éventuelle migration vers un language objet (Java
notamment), j'essaie de développer une application en utilisant les modules
de classes sous Access 97. Je me heurte à deux problèmes:
- Access ne permettant pas de gérer facilement des modules, je me propose de
stocker tous les modules de classes dans un fichier déporté. comment puis-je
faire connaître l'existence de ces classes à ma base (frontale pour
reprendre vos termes, en réalité je n'ai pas de base dorsale) ? Les
références ne semblent pas fonctionner pour les modules de classes.
- Pour une classe Ampoule j'ai créé une propriété Puissance. Pour faire
fonctionner les procédures Get et Let, je suis obligé de passer par une
variable de stockage interne au module (Puissance_ par exemple). Du coup
dans l'explorateur d'objets, j'ai une propriété Puissance et une variable
Puissance_. Celà ne me semble pas très rationnel. J'ai du louper un épisode
mais je ne sais lequel. Comment peut on programmer proprement une propriété
?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anor
Bonjour,
En général, on crée une base .mda qui contiendra les modules, mais une .mdb fonctionnera tout aussi bien.
Ensuite, depuis la base principale, dans la fenêtre visual basic editor, menu outils>références> parcourir, et tu sélectionnes ta base mdb ou mda qui contient les modules.
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Archives : | Bonsoir, | | Pour faciliter une éventuelle migration vers un language objet (Java | notamment), j'essaie de développer une application en utilisant les | modules de classes sous Access 97. Je me heurte à deux problèmes: | | - Access ne permettant pas de gérer facilement des modules, je me | propose de stocker tous les modules de classes dans un fichier | déporté. comment puis-je faire connaître l'existence de ces classes à | ma base (frontale pour reprendre vos termes, en réalité je n'ai pas | de base dorsale) ? Les références ne semblent pas fonctionner pour | les modules de classes. | | - Pour une classe Ampoule j'ai créé une propriété Puissance. Pour | faire fonctionner les procédures Get et Let, je suis obligé de passer | par une variable de stockage interne au module (Puissance_ par | exemple). Du coup dans l'explorateur d'objets, j'ai une propriété | Puissance et une variable Puissance_. Celà ne me semble pas très | rationnel. J'ai du louper un épisode mais je ne sais lequel. Comment | peut on programmer proprement une propriété ? | | Merci de votre aide.
Bonjour,
En général, on crée une base .mda qui contiendra les modules,
mais une .mdb fonctionnera tout aussi bien.
Ensuite, depuis la base principale, dans la fenêtre visual basic editor,
menu outils>références> parcourir,
et tu sélectionnes ta base mdb ou mda qui contient les modules.
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Archives <musicalesNOSPAM@mp3th.net> :
| Bonsoir,
|
| Pour faciliter une éventuelle migration vers un language objet (Java
| notamment), j'essaie de développer une application en utilisant les
| modules de classes sous Access 97. Je me heurte à deux problèmes:
|
| - Access ne permettant pas de gérer facilement des modules, je me
| propose de stocker tous les modules de classes dans un fichier
| déporté. comment puis-je faire connaître l'existence de ces classes à
| ma base (frontale pour reprendre vos termes, en réalité je n'ai pas
| de base dorsale) ? Les références ne semblent pas fonctionner pour
| les modules de classes.
|
| - Pour une classe Ampoule j'ai créé une propriété Puissance. Pour
| faire fonctionner les procédures Get et Let, je suis obligé de passer
| par une variable de stockage interne au module (Puissance_ par
| exemple). Du coup dans l'explorateur d'objets, j'ai une propriété
| Puissance et une variable Puissance_. Celà ne me semble pas très
| rationnel. J'ai du louper un épisode mais je ne sais lequel. Comment
| peut on programmer proprement une propriété ?
|
| Merci de votre aide.
En général, on crée une base .mda qui contiendra les modules, mais une .mdb fonctionnera tout aussi bien.
Ensuite, depuis la base principale, dans la fenêtre visual basic editor, menu outils>références> parcourir, et tu sélectionnes ta base mdb ou mda qui contient les modules.
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Archives : | Bonsoir, | | Pour faciliter une éventuelle migration vers un language objet (Java | notamment), j'essaie de développer une application en utilisant les | modules de classes sous Access 97. Je me heurte à deux problèmes: | | - Access ne permettant pas de gérer facilement des modules, je me | propose de stocker tous les modules de classes dans un fichier | déporté. comment puis-je faire connaître l'existence de ces classes à | ma base (frontale pour reprendre vos termes, en réalité je n'ai pas | de base dorsale) ? Les références ne semblent pas fonctionner pour | les modules de classes. | | - Pour une classe Ampoule j'ai créé une propriété Puissance. Pour | faire fonctionner les procédures Get et Let, je suis obligé de passer | par une variable de stockage interne au module (Puissance_ par | exemple). Du coup dans l'explorateur d'objets, j'ai une propriété | Puissance et une variable Puissance_. Celà ne me semble pas très | rationnel. J'ai du louper un épisode mais je ne sais lequel. Comment | peut on programmer proprement une propriété ? | | Merci de votre aide.
Archives
Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour atteindre des modules de classe, seulement des modules standards. Ou alors je m'y prends mal... "Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news: OcnKM$
Bonjour,
En général, on crée une base .mda qui contiendra les modules, mais une .mdb fonctionnera tout aussi bien.
Ensuite, depuis la base principale, dans la fenêtre visual basic editor, menu outils>références> parcourir, et tu sélectionnes ta base mdb ou mda qui contient les modules.
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Archives : | Bonsoir, | | Pour faciliter une éventuelle migration vers un language objet (Java | notamment), j'essaie de développer une application en utilisant les | modules de classes sous Access 97. Je me heurte à deux problèmes: | | - Access ne permettant pas de gérer facilement des modules, je me | propose de stocker tous les modules de classes dans un fichier | déporté. comment puis-je faire connaître l'existence de ces classes à | ma base (frontale pour reprendre vos termes, en réalité je n'ai pas | de base dorsale) ? Les références ne semblent pas fonctionner pour | les modules de classes. | | - Pour une classe Ampoule j'ai créé une propriété Puissance. Pour | faire fonctionner les procédures Get et Let, je suis obligé de passer | par une variable de stockage interne au module (Puissance_ par | exemple). Du coup dans l'explorateur d'objets, j'ai une propriété | Puissance et une variable Puissance_. Celà ne me semble pas très | rationnel. J'ai du louper un épisode mais je ne sais lequel. Comment | peut on programmer proprement une propriété ? | | Merci de votre aide.
Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour
atteindre des modules de classe, seulement des modules standards. Ou alors
je m'y prends mal...
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de
news: OcnKM$YyDHA.1396@TK2MSFTNGP10.phx.gbl...
Bonjour,
En général, on crée une base .mda qui contiendra les modules,
mais une .mdb fonctionnera tout aussi bien.
Ensuite, depuis la base principale, dans la fenêtre visual basic editor,
menu outils>références> parcourir,
et tu sélectionnes ta base mdb ou mda qui contient les modules.
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Archives <musicalesNOSPAM@mp3th.net> :
| Bonsoir,
|
| Pour faciliter une éventuelle migration vers un language objet (Java
| notamment), j'essaie de développer une application en utilisant les
| modules de classes sous Access 97. Je me heurte à deux problèmes:
|
| - Access ne permettant pas de gérer facilement des modules, je me
| propose de stocker tous les modules de classes dans un fichier
| déporté. comment puis-je faire connaître l'existence de ces classes à
| ma base (frontale pour reprendre vos termes, en réalité je n'ai pas
| de base dorsale) ? Les références ne semblent pas fonctionner pour
| les modules de classes.
|
| - Pour une classe Ampoule j'ai créé une propriété Puissance. Pour
| faire fonctionner les procédures Get et Let, je suis obligé de passer
| par une variable de stockage interne au module (Puissance_ par
| exemple). Du coup dans l'explorateur d'objets, j'ai une propriété
| Puissance et une variable Puissance_. Celà ne me semble pas très
| rationnel. J'ai du louper un épisode mais je ne sais lequel. Comment
| peut on programmer proprement une propriété ?
|
| Merci de votre aide.
Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour atteindre des modules de classe, seulement des modules standards. Ou alors je m'y prends mal... "Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news: OcnKM$
Bonjour,
En général, on crée une base .mda qui contiendra les modules, mais une .mdb fonctionnera tout aussi bien.
Ensuite, depuis la base principale, dans la fenêtre visual basic editor, menu outils>références> parcourir, et tu sélectionnes ta base mdb ou mda qui contient les modules.
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Archives : | Bonsoir, | | Pour faciliter une éventuelle migration vers un language objet (Java | notamment), j'essaie de développer une application en utilisant les | modules de classes sous Access 97. Je me heurte à deux problèmes: | | - Access ne permettant pas de gérer facilement des modules, je me | propose de stocker tous les modules de classes dans un fichier | déporté. comment puis-je faire connaître l'existence de ces classes à | ma base (frontale pour reprendre vos termes, en réalité je n'ai pas | de base dorsale) ? Les références ne semblent pas fonctionner pour | les modules de classes. | | - Pour une classe Ampoule j'ai créé une propriété Puissance. Pour | faire fonctionner les procédures Get et Let, je suis obligé de passer | par une variable de stockage interne au module (Puissance_ par | exemple). Du coup dans l'explorateur d'objets, j'ai une propriété | Puissance et une variable Puissance_. Celà ne me semble pas très | rationnel. J'ai du louper un épisode mais je ne sais lequel. Comment | peut on programmer proprement une propriété ? | | Merci de votre aide.
Anor
Bonjour,
Archives : | Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour | atteindre des modules de classe, seulement des modules standards. Ou | alors je m'y prends mal...
ah peut-être, je ne sais pas...
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Bonjour,
Archives <musicalesNOSPAM@mp3th.net> :
| Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour
| atteindre des modules de classe, seulement des modules standards. Ou
| alors je m'y prends mal...
ah peut-être, je ne sais pas...
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Archives : | Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour | atteindre des modules de classe, seulement des modules standards. Ou | alors je m'y prends mal...
ah peut-être, je ne sais pas...
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Michel Walsh
Salut,
Les instanciations sont "private" et "public not creatable". Dans le second cas, c'est un peu comme DAO, où on ne peut pas faire:
============= Dim rst As New DAO.Recordset =============
Il faut absolument passer par une "usine" :
============== Dim rst As DAO.Recordset Set rst=CurrentDb.OpenRecordset( ... ) ============== Cela permet, en effet, de mimer un constructeur C++ où l'objet est créé avec des paramètres:
Set rst= CréeCeRecordset( voici_des_paramètres_gérant_la_création ) ' VB/VBA
et on ne peut pas créer de recordsets "non initialisés", des recordsets "illégaux", en procédant de cette façon.
Donc, c'est voulu, et la façon est donc de créer l' "usine" dans un module standard. J'imagine qu'il y a une classe ClassA dans l'application (arrière plan). On ajoute donc l'usine dans un de ses module standards:
============== Public Function MakeMeAClassAObject( ... paramètres... on peut même utiliser des paramètres optionels...) As ClassA
... Set MakeMeAClassAObject = ... End Function ==============
Par la suite, dans l'application ayant l'application mdb précédante en références, on peut utiliser:
============== Dim x As AutreDb.ClassA ' early binding Set x = AutreDb.MakeMeAClassAObject( ... ) ==============
Note: l'instanciation par défaut des classes est Private, Il faut la changer pour PublicNotCreatable (Visible de l'extérieur, mais l 'extérieur ne peut utiliser NEW ).
Espérant être utile, Vanderghast, Access MVP
"Anor" <http://memoaccess.free.fr/anor/email.htm> wrote in message news:e8$
Bonjour,
Archives : | Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour | atteindre des modules de classe, seulement des modules standards. Ou | alors je m'y prends mal...
ah peut-être, je ne sais pas...
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Salut,
Les instanciations sont "private" et "public not creatable". Dans le
second cas, c'est un peu comme DAO, où on ne peut pas faire:
============= Dim rst As New DAO.Recordset
=============
Il faut absolument passer par une "usine" :
============== Dim rst As DAO.Recordset
Set rst=CurrentDb.OpenRecordset( ... )
==============
Cela permet, en effet, de mimer un constructeur C++ où l'objet est créé
avec des paramètres:
Set rst= CréeCeRecordset( voici_des_paramètres_gérant_la_création )
' VB/VBA
et on ne peut pas créer de recordsets "non initialisés", des recordsets
"illégaux", en procédant de cette façon.
Donc, c'est voulu, et la façon est donc de créer l' "usine" dans un module
standard. J'imagine qu'il y a une classe ClassA dans l'application (arrière
plan). On ajoute donc l'usine dans un de ses module standards:
============== Public Function MakeMeAClassAObject( ... paramètres... on peut même utiliser
des paramètres optionels...) As ClassA
...
Set MakeMeAClassAObject = ...
End Function
==============
Par la suite, dans l'application ayant l'application mdb précédante en
références, on peut utiliser:
============== Dim x As AutreDb.ClassA ' early binding
Set x = AutreDb.MakeMeAClassAObject( ... )
==============
Note: l'instanciation par défaut des classes est Private, Il faut la changer
pour PublicNotCreatable (Visible de l'extérieur, mais l 'extérieur ne peut
utiliser NEW ).
Espérant être utile,
Vanderghast, Access MVP
"Anor" <http://memoaccess.free.fr/anor/email.htm> wrote in message
news:e8$V1gZyDHA.2620@TK2MSFTNGP09.phx.gbl...
Bonjour,
Archives <musicalesNOSPAM@mp3th.net> :
| Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour
| atteindre des modules de classe, seulement des modules standards. Ou
| alors je m'y prends mal...
ah peut-être, je ne sais pas...
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Les instanciations sont "private" et "public not creatable". Dans le second cas, c'est un peu comme DAO, où on ne peut pas faire:
============= Dim rst As New DAO.Recordset =============
Il faut absolument passer par une "usine" :
============== Dim rst As DAO.Recordset Set rst=CurrentDb.OpenRecordset( ... ) ============== Cela permet, en effet, de mimer un constructeur C++ où l'objet est créé avec des paramètres:
Set rst= CréeCeRecordset( voici_des_paramètres_gérant_la_création ) ' VB/VBA
et on ne peut pas créer de recordsets "non initialisés", des recordsets "illégaux", en procédant de cette façon.
Donc, c'est voulu, et la façon est donc de créer l' "usine" dans un module standard. J'imagine qu'il y a une classe ClassA dans l'application (arrière plan). On ajoute donc l'usine dans un de ses module standards:
============== Public Function MakeMeAClassAObject( ... paramètres... on peut même utiliser des paramètres optionels...) As ClassA
... Set MakeMeAClassAObject = ... End Function ==============
Par la suite, dans l'application ayant l'application mdb précédante en références, on peut utiliser:
============== Dim x As AutreDb.ClassA ' early binding Set x = AutreDb.MakeMeAClassAObject( ... ) ==============
Note: l'instanciation par défaut des classes est Private, Il faut la changer pour PublicNotCreatable (Visible de l'extérieur, mais l 'extérieur ne peut utiliser NEW ).
Espérant être utile, Vanderghast, Access MVP
"Anor" <http://memoaccess.free.fr/anor/email.htm> wrote in message news:e8$
Bonjour,
Archives : | Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour | atteindre des modules de classe, seulement des modules standards. Ou | alors je m'y prends mal...
ah peut-être, je ne sais pas...
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Archives
Merci, cette méthode fonctionne en effet. C'est maintenant la méthode la plus simple que je connaisse. Je m'étonne tout de même que Microsoft n'aie pas proposé une méthode plus directe.
"Michel Walsh" a écrit dans le message de news:
Salut,
Les instanciations sont "private" et "public not creatable". Dans le second cas, c'est un peu comme DAO, où on ne peut pas faire:
============= > Dim rst As New DAO.Recordset ============= >
Il faut absolument passer par une "usine" :
============== > Dim rst As DAO.Recordset Set rst=CurrentDb.OpenRecordset( ... ) ============== > Cela permet, en effet, de mimer un constructeur C++ où l'objet est créé
avec des paramètres:
Set rst= CréeCeRecordset( voici_des_paramètres_gérant_la_création )
' VB/VBA
et on ne peut pas créer de recordsets "non initialisés", des recordsets
"illégaux", en procédant de cette façon.
Donc, c'est voulu, et la façon est donc de créer l' "usine" dans un module standard. J'imagine qu'il y a une classe ClassA dans l'application (arrière
plan). On ajoute donc l'usine dans un de ses module standards:
============== > Public Function MakeMeAClassAObject( ... paramètres... on peut même utiliser
des paramètres optionels...) As ClassA
... Set MakeMeAClassAObject = ... End Function ============== >
Par la suite, dans l'application ayant l'application mdb précédante en références, on peut utiliser:
============== > Dim x As AutreDb.ClassA ' early binding Set x = AutreDb.MakeMeAClassAObject( ... ) ============== >
Note: l'instanciation par défaut des classes est Private, Il faut la changer
pour PublicNotCreatable (Visible de l'extérieur, mais l 'extérieur ne peut utiliser NEW ).
Espérant être utile, Vanderghast, Access MVP
"Anor" <http://memoaccess.free.fr/anor/email.htm> wrote in message news:e8$
Bonjour,
Archives : | Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour | atteindre des modules de classe, seulement des modules standards. Ou | alors je m'y prends mal...
ah peut-être, je ne sais pas...
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Merci, cette méthode fonctionne en effet. C'est maintenant la méthode la
plus simple que je connaisse. Je m'étonne tout de même que Microsoft n'aie
pas proposé une méthode plus directe.
"Michel Walsh" <vanderghast@VirusAreFunnierThanSpam> a écrit dans le message
de news: euRlljhzDHA.1744@TK2MSFTNGP12.phx.gbl...
Salut,
Les instanciations sont "private" et "public not creatable". Dans le
second cas, c'est un peu comme DAO, où on ne peut pas faire:
============= > Dim rst As New DAO.Recordset
============= >
Il faut absolument passer par une "usine" :
============== > Dim rst As DAO.Recordset
Set rst=CurrentDb.OpenRecordset( ... )
============== >
Cela permet, en effet, de mimer un constructeur C++ où l'objet est
créé
avec des paramètres:
Set rst= CréeCeRecordset(
voici_des_paramètres_gérant_la_création )
' VB/VBA
et on ne peut pas créer de recordsets "non initialisés", des
recordsets
"illégaux", en procédant de cette façon.
Donc, c'est voulu, et la façon est donc de créer l' "usine" dans un module
standard. J'imagine qu'il y a une classe ClassA dans l'application
(arrière
plan). On ajoute donc l'usine dans un de ses module standards:
============== > Public Function MakeMeAClassAObject( ... paramètres... on peut même
utiliser
des paramètres optionels...) As ClassA
...
Set MakeMeAClassAObject = ...
End Function
============== >
Par la suite, dans l'application ayant l'application mdb précédante en
références, on peut utiliser:
============== > Dim x As AutreDb.ClassA ' early binding
Set x = AutreDb.MakeMeAClassAObject( ... )
============== >
Note: l'instanciation par défaut des classes est Private, Il faut la
changer
pour PublicNotCreatable (Visible de l'extérieur, mais l 'extérieur ne peut
utiliser NEW ).
Espérant être utile,
Vanderghast, Access MVP
"Anor" <http://memoaccess.free.fr/anor/email.htm> wrote in message
news:e8$V1gZyDHA.2620@TK2MSFTNGP09.phx.gbl...
Bonjour,
Archives <musicalesNOSPAM@mp3th.net> :
| Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour
| atteindre des modules de classe, seulement des modules standards. Ou
| alors je m'y prends mal...
ah peut-être, je ne sais pas...
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Merci, cette méthode fonctionne en effet. C'est maintenant la méthode la plus simple que je connaisse. Je m'étonne tout de même que Microsoft n'aie pas proposé une méthode plus directe.
"Michel Walsh" a écrit dans le message de news:
Salut,
Les instanciations sont "private" et "public not creatable". Dans le second cas, c'est un peu comme DAO, où on ne peut pas faire:
============= > Dim rst As New DAO.Recordset ============= >
Il faut absolument passer par une "usine" :
============== > Dim rst As DAO.Recordset Set rst=CurrentDb.OpenRecordset( ... ) ============== > Cela permet, en effet, de mimer un constructeur C++ où l'objet est créé
avec des paramètres:
Set rst= CréeCeRecordset( voici_des_paramètres_gérant_la_création )
' VB/VBA
et on ne peut pas créer de recordsets "non initialisés", des recordsets
"illégaux", en procédant de cette façon.
Donc, c'est voulu, et la façon est donc de créer l' "usine" dans un module standard. J'imagine qu'il y a une classe ClassA dans l'application (arrière
plan). On ajoute donc l'usine dans un de ses module standards:
============== > Public Function MakeMeAClassAObject( ... paramètres... on peut même utiliser
des paramètres optionels...) As ClassA
... Set MakeMeAClassAObject = ... End Function ============== >
Par la suite, dans l'application ayant l'application mdb précédante en références, on peut utiliser:
============== > Dim x As AutreDb.ClassA ' early binding Set x = AutreDb.MakeMeAClassAObject( ... ) ============== >
Note: l'instanciation par défaut des classes est Private, Il faut la changer
pour PublicNotCreatable (Visible de l'extérieur, mais l 'extérieur ne peut utiliser NEW ).
Espérant être utile, Vanderghast, Access MVP
"Anor" <http://memoaccess.free.fr/anor/email.htm> wrote in message news:e8$
Bonjour,
Archives : | Oui, mais sous Access 97, on ne peut pas utiliser cette méthode pour | atteindre des modules de classe, seulement des modules standards. Ou | alors je m'y prends mal...
ah peut-être, je ne sais pas...
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Michel Walsh
Salut,
Il semble que les suggestions reçues via leur Contactez-nous sont toutes lues et acheminées... Microsoft tient compte des "stats", du nombre de messages reçus, pour calibrer ce qui nécessite des améliorations. En conclusion, si on sait où se trouve le site de Microsoft et son contactez-nous, y laisser sa suggestion peut éventuellement contribuer grandement à voir d'autres modes d'instanciation en VBA (ils existent en VB classique) ... (et même si la suggestion est en français, ils peuvent traduire, je crois).
Vanderghast, Access MVP
"Archives" wrote in message news:bsq15h$b8i$
Merci, cette méthode fonctionne en effet. C'est maintenant la méthode la plus simple que je connaisse. Je m'étonne tout de même que Microsoft n'aie pas proposé une méthode plus directe.
Salut,
Il semble que les suggestions reçues via leur Contactez-nous sont
toutes lues et acheminées... Microsoft tient compte des "stats", du nombre
de messages reçus, pour calibrer ce qui nécessite des améliorations. En
conclusion, si on sait où se trouve le site de Microsoft et son
contactez-nous, y laisser sa suggestion peut éventuellement contribuer
grandement à voir d'autres modes d'instanciation en VBA (ils existent en VB
classique) ... (et même si la suggestion est en français, ils peuvent
traduire, je crois).
Vanderghast, Access MVP
"Archives" <musicalesNOSPAM@mp3th.net> wrote in message
news:bsq15h$b8i$1@news-reader1.wanadoo.fr...
Merci, cette méthode fonctionne en effet. C'est maintenant la méthode la
plus simple que je connaisse. Je m'étonne tout de même que Microsoft n'aie
pas proposé une méthode plus directe.
Il semble que les suggestions reçues via leur Contactez-nous sont toutes lues et acheminées... Microsoft tient compte des "stats", du nombre de messages reçus, pour calibrer ce qui nécessite des améliorations. En conclusion, si on sait où se trouve le site de Microsoft et son contactez-nous, y laisser sa suggestion peut éventuellement contribuer grandement à voir d'autres modes d'instanciation en VBA (ils existent en VB classique) ... (et même si la suggestion est en français, ils peuvent traduire, je crois).
Vanderghast, Access MVP
"Archives" wrote in message news:bsq15h$b8i$
Merci, cette méthode fonctionne en effet. C'est maintenant la méthode la plus simple que je connaisse. Je m'étonne tout de même que Microsoft n'aie pas proposé une méthode plus directe.