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

VBA Access Discussion :

De la bonne utilisation des modules de classe [Toutes versions]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut De la bonne utilisation des modules de classe
    Bonjour à tous.

    Je dois reprendre une application Access dont les code VBA, à mon grand étonnement, sont exclusivement stockés dans des modules de classe.
    Aussi je voudrais soumettre à la communauté cette question ouverte :

    Par rapport au autres programme d'Office, y-a-t'il un intérêt particulier d'utiliser des modules de classe sur ACCESS ?

    Autres questions :
    À quel moment les modules de classes deviennent-il indispensable ?

    Cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    As tu été voir ce que nous avions sur le sujet:
    http://access.developpez.com/cours/?...vba#vbaclasses

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Je viens de regarder,

    Vous aborder les classes dans les formulaires. Rien de particulier à Access. Quand on programme des formulaires avec EXCEL c'est identique.
    Que se soit avec ACCESS, EXCEL ou autre, quand on met du code dans un objet on ne fait que manipuler une instance de classe de l'objet.

    Ce que je voudrais savoir, c'est : quel est l'intérêt de déclarer des modules de classe dans ACCESS ?

    Cdt.

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    John14,

    Les liens fournis répondent exactement à ta question

    Un autre lien intéressant :

    http://tissotemmanuel.developpez.com...-classe/#LII-F

    JimBoLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Hello,

    j'ai l'impression que vous êtes en train de me dire qu'il n'y a pas plus d'intérêts à utiliser des modules de classe sur ACCESS que sur les autres programmes d'Office ?

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    JOHN14,

    Non je n'ai pas dit çà !

    Je crois qu'il faut resituer un peu la définition d'une classe. Une classe est un moule (qui nous sert à fabriquer l'objet). L'objet sorti de cette classe est appelé instance de classe. Une classe comporte des méthodes et des attributs. Dans les méthodes nous définirons l'ensemble des fonctions qui caractérise l'objet (couleur...) alors que l'attribut représente l'état d'un objet (rouge, vert...).

    Lorsque tu utilises Access (peut être sans le savoir) tu bénéficies de la puissance de la programmation objet. En utilisant l'objet Recordset tu peux utiliser l'ensemble des propriétés et méthodes associés à cet objet sans nécessairement comprendre le mécanisme implémenté.

    Alors, bien sûr que dans le cadre d'un projet, tu peux te passer des modules de classe. Pour prendre un exemple précis, sur chaque formulaire tu devras vérifier la valeur de chaque contrôle indépendamment sans nécessairement comprendre l’interopérabilité de chacun de ces contrôles (une désignation, un prix, une couleur...). En manipulant une classe tu peux spécifier un certain nombre de contrôles sur chacun de tes objets (vérifier que ton objet possède une méthode couleur, poids, taille) et contrôler directement l'attribut de chaque objet (couleur disponibles en fonction du poids par exemple). L'approche est différente et nécessite dé réfléchir à la constitution d'un objet avant de commencer à coder (mais après quel pied). Le tout étant de savoir à quel moment utiliser une classe et dans quel contexte. Pour des objets complexes et concernant plus précisément ma partie professionnelle un verre de vue ou une lentille ont des méthodes quasi similaires et des attributs différents. En utilisant une classe lentilles et verres (Access n'acceptant pas la notion d'héritage) je peux contrôler l'ensemble des méthodes et attributs pour chacun de ces objets et ce quelque soit la partir du projet ou je manipule ces objets (commandes, livraisons, vente, contrôle..)

    Donc on ne peut parler de l'intérêt ou non d'utiliser des classes, personnellement je n'en fait pas une boulimie mais je sais les utiliser lorsque l'objet devient complexe et apte à évoluer dans le temps (un nouveau taux d'abstraction sur un verre me permet de valider cet attribut sur l'ensemble de mon projet sans avoir à reprendre chacun de mes formulaires).

    Voilà en espérant t'avoir donner envie de commencer à manipuler les classes, mais rassures toi : on arrive très bien à vivre sans.

    JimBoLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 165
    Points
    165
    Par défaut
    Bonjour à tous,

    Merci jimbolion pour ce brillant exposé.

    Donc, sauf problème extrêmement particulier (cela a dû m'arriver une fois avec EXCEL) le recours aux classes n'est pas indispensable. Le fait que l'Héritage n'est pas possible en VBA réduit encore l'intérêt d'en programmer.

    Je peux donc légitiment jeter un regard suspicieux sur l'appli. qu'il me faut reprendre. En effet, tout le code est contenu dans des modules de classe et le style de programmation est vraiment infâme.

    Je remercie tous ceux qui ce sont intéressés à cette discussion.


    Je laisse encore un peu la discussion ouverte et si personne d'autre ajoute quelque chose je la classerai en "Résolu".

    Cordialement.

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

Discussions similaires

  1. [Python] Est-ce une bonne idée d'utiliser des modules pour stocker des objets ?
    Par Neolander dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 05/04/2008, 15h45
  2. Avis sur la bonne utilisation des Threads
    Par Pitivier dans le forum Général Java
    Réponses: 8
    Dernier message: 28/11/2006, 21h07
  3. Réponses: 1
    Dernier message: 09/03/2006, 19h15
  4. [VB]utilisation des modules en vb
    Par zidenne dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/01/2006, 12h19
  5. [C#] La bonne utilisation des WinForms (ouverture-Fermeture)
    Par Harry dans le forum Windows Forms
    Réponses: 28
    Dernier message: 03/08/2005, 12h39

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