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

Access Discussion :

Lien entre VBA et VB.net ?


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut Lien entre VBA et VB.net ?
    Bonjour,

    Je m'appel Renaud, et je suis analyste developpeur pour une société industrielle dans le sud.
    Nous avons une grosse application sous Access qui commence à se faire vieille. Aussi nous envisagerions de la migrer dans les prochains mois en VB.net, sachant les complications que cela entrainerait.
    Vu le peu de developpeur sur ce projet (je suis seul) il nous est impossible d'établir une migration en repartant d'une feuille blanche du genre "o tiens on va tout changer on passe en VB.net". Notre objectif est de migrer petit à petit.

    Mais si il existe un lien entre le VBA et le VB.net nous ne le connaissons pas. Je fouille le forum depuis une heure, et si la solution existe je ne l'ai pas trouvée.

    Je connais quand même les composants COM, mais de la à les utiliser directement depuis le VBA, je ne sais pas si cela est possible.

    Aussi si vous connaissez un moyen d'utiliser des classes .net en VBA faite moi signe.

    Je vous remercie d'avance pour l'attention que vous porterez à ma demande.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello !

    va regarder dans ce coin-là :

    http://dotnet.developpez.com/cours/#a_migration

    et surtout BON COURAGE !

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut
    Merci pour ta reponse rapide.

    Néanmoins (enfin peut être que je me trompe), même si d'un point de vue syntaxique VBA Access et VB 6.0 sont relativement proche (pour preuve on peut référencer des DLL et OCX vb6.0 pour les utiliser sous Access), il y a trop de différence à mon gout pour effectuer une migration en douceur.

    Je suis entiérement en Access 2003, lancer un projet d'un an pour passé simplement de Access 2003 à VB.net, on va me dire la même chose que d'habitude qui est d'ailleur totalement justifié "le client s'en fou qu'on passe en VB.net, lui ce qu'il veut c'est que sa marche".

    Donc existe-t-il un moyen pour utiliser du .net sous Access directement, pour migrer en douceur les application, sans passer du jour au lendemain en VB.net.

    Merci beaucoup

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Salut
    Le passage a VB.net ne rajeunira pas forcément ta base mais enfin il y a d’autres avantages.
    Pour ma part je suis dans une démarche un peu similaire avec une expérience débutant en VB.NET 2003 en attendant de passer à Visual Studio.Net 2005.
    Je pense malheureusement que tu auras du mal à passer progressivement de VBA a VB.NET
    VBA et un dérivé de VB et qui peu le moins ……..ne peu pas facilement le +
    Les avantages de VB/Access sont essentiellement une possibilité de distribuer une application gratuitement, un travail en mode déconnecté ce qui peut être un plus si vous êtes plusieurs a accéder aux données, la possibilité dans une reprise de tables Access de faire plusieurs niveaux de programmes plus ou moins sophistiqués et avec des autorisations d’accès très ciblés même si cela est possible en grande partie avec access, migrer sur une base SQL en cas de limite des possibilités d’access etc…...
    Si je peux me permettre des conseils au niveau ou j’en suis (Expérience en développement…..)
    Si tu dois continuer à développer sur ta base – privilégier les modules, si c’est pas le cas actuellement développer l’accès aux données en ADO au lieu de DAO, fractionner ta base et t’habituer a travailler avec des tables séparées.
    Et commencer a développer en VB.net sur un double des tables, les interfaces en VB.Net sont assez facile a mettre en œuvre en travaillant sur les mêmes tables dans les 2 systèmes tu pourras facilement contrôler si tout est OK.
    Oui cela fera pendant un temps double travail
    Et donc comme l’a dit Cafeine…..bon courage

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Points : 1 042
    Points
    1 042
    Par défaut
    Bonjour,
    utilisant aussi bien ACCESS donc le VBA et ADO.net soit pour internet soit pour les pockets PC, je n'ai jamais envisage de faire la migration en VB net.

    j'utilise d'une part VB.net pour internet et pour les pockets PC par contre j'ai tout gardé le reste sur ACCESS.
    de plus si ton application est ancienne elle fonctionne donc au niveau du VBA avec un peu de DAO qui n'a rien à voir avec ADO et encore moins avec ADO.Net.

    maintenant pourquoi ne pas faire une migration sur une version plus nouvelle d'ACCESS?

    maintenant pour ce qui est du langage ils se ressemblent car tous les deux sont basé sur le basic

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut
    Oups je me rend compte que j'avais oublié de préciser quelque chose.
    Il ne s'agit en aucun cas de ma base de données qui est en Access mais mon programme lui même.
    En effet mes application fonctionnent déjà (et depuis peu) sous SQL Server 2005 en mode ADP.
    Mais tout le reste de mes application (une dixaine de modules *.mde) sont en Access VBA. J'aimerais pouvoir remplacer doucement doucement ses modules par du code VB.net, et enfin migré les formulaire, mais vraiment à la fin.

    Vraiment merci pour votre interet

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Je comprend mieux, une bonne partie du travail est donc fait tes bases sont a part et il est effectivement maintenant plus logique que tu passe à VB.NET, je ne pense pas que tes modules soient directement transposable en l'état même si le langage se ressemble et pourront simplement t'aider à adapter.
    mais pour l'instant je ne maitrise pas suffisamment VB.NET et te conseille d'aller dans le Forum VB.NET et d'expliquer ton projet
    à plus

  8. #8
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Mais tout le reste de mes application (une dixaine de modules *.mde) sont en Access VBA. J'aimerais pouvoir remplacer doucement doucement ses modules par du code VB.net, ...
    Oui en faisant peut etre des DLL.
    ...et enfin migré les formulaire, mais vraiment à la fin.
    Là, je ne vois pas très bien; tu vas recréer tes formulaires en VB.Net et "attaquer" ta base de données access ou SQL server;non!?
    mais comme le dit LE VIEUX:
    ./. et te conseille d'aller dans le Forum VB.NET et d'expliquer ton projet
    @+

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Points : 1 042
    Points
    1 042
    Par défaut
    bonjour,
    pour avoir pratiqué les deux langage je ne pense pas que tu pourras faire la transposition directe.
    il y a trop de différences.
    Par contre tu devrais prendre la version Access Beta 2007 car je pense qu'il y a eu une évolution vers le .net

    bon courage.

  10. #10
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 96
    Points : 71
    Points
    71
    Par défaut
    Merci beaucoup pour vos réponses!
    Je pense également la même chose que vous, il ne doit pas être possible de faire collaborer les 2.

    Néanmoins si cela vous interesse, cela fait 2 jours que je travail, d'une part a réparer un PC à moi qui a mouru comme ca d'un coup, paix à son ame, mais également à le recherche de ce que pouvait être les composants COM.

    Déjà j'arrive à en faire, c'est déjà pas mal, et à récuperer les objets de base du VBA Office tel l'objet "Application", ce qui laisse des perspective pas trop mauvaises!

    J'étend le principe a son maximum, il doit être possible depuis le .net (C# ou VB) d'ouvrir, de fermer, de manipuler, de transformer un formulaire, un état, ou tout autre forme d'objet Access !!

    A scruter pour l'instant j'arrive simplement à récuperer l'objet "Application".

    En tout cas encore merci pour vos réponses.

    EDIT : j'ai déjà essayer l'approche DLL vb.net, cela ne fonctionne pas. Au moment de faire la référence vers le fichier .net Access (ou tout application office) me répond "fichier non valide". Ce probléme est d'ailleurs le même sous Access 2007. Pour ce qui est de la parti code en Access 2007, je n'y ai trouvé rien de plus que dans la version 2000, la 2002 et la 2003. J'espere que je me trompe...

Discussions similaires

  1. [AC-2007] Lien entre VBA et Access
    Par xavetsand dans le forum VBA Access
    Réponses: 8
    Dernier message: 12/04/2012, 14h35
  2. Lien entre VBA et Interface utilisateur Excel
    Par lemonette59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/11/2009, 13h50
  3. [VBA]Lien entre fichiers excel : Update en VBA
    Par criocaps dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/01/2006, 09h07
  4. Pb de lien entre Access et Excel pour des fonctions VBA
    Par favien dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/11/2005, 01h00
  5. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15

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