Je dois actuellement faire migrer une application en VBA/Access vers VB.NET ou C# (ces deux derniers étant au choix)
Personnellement je connais beaucoup mieux le C# que le VB.NET mais j'ai cru comprendre qu'il était plus simple de passer du VBA à ce dernier. J'envisage donc encore je faire le travail sur les deux langages.
Plus précisement, le travail consiste donc à développer une application Web sous Visual Sudio 2005 afin que l'ancienne application qui a été développée en VBA sous Access, puisse fonctionner sur le site de l'entreprise, et qui dit Web, dit que j'aurai donc à associer de l'ASP, mais là n'est pas le problème.
Mes connaissances se résument à ça : étant dans ma première année post-diplôme, je ne connais pas grand chose des "vieux" langages, j'ai donc développé pendant 2 ans en C#, quelques mois en VB.NET, mais concernant le VBA et Access, je n'y connais absolument rien, c'est d'ailleurs là qu'est mon problème.
J'ai d'abord pensé à tout réécrire, en voyant au fur et à mesure chaque problème de portage du code, mais ça s'avère beaucoup plus long et compliqué que prévu.
Ensuite j'ai été voir du côté des convertisseurs, il y en a trois en particulier qui ont retenu mon attention :
- AccessToVB
- Access 2000 to Visual Basic 6 Object Converter
- Artinsoft Visual Basic Upgrade Companion DE
les deux premiers portent bien leur noms, il sagit de convertir du VBA en VB6, le 3eme soft s'occupe de traduire les projets VB6 en VB.NET/C#
n'ayant pas trouvé de convertisseur qui fasse directement la traduction du VBA vers mes deux langages, j'ai donc pensé que l'utilisation des premiers convertisseur et du 3eme était forte interessante afin de pouvoir faire une conversion de la forme : VBA > VB6 > VB.NET / C#
Mais là aussi j'ai un problème, comme je l'ai dis plus haut, je ne maîtrise pas du tout Access, et donc je n'arrive pas à utiliser ces fameux convertisseurs.
Donc si vous avez des tuyaux, comme des exemples, des tutoriaux, d'autres logiciels de conversion automatique, des conseils au niveau de l'utilisation de ces deux premiers logiciels avec Access, ou encore autre chose auquel je n'aurai pas pensé, votre aide sera la bienvenue.
Je reste à votre disposition au cas où il y aurait des questions ou si je me serait mal exprimé sur certains points,
Merci d'avance pour votre aide
je dois faire à peu pres le meme travail que toi ,j'ai a faire une migration d'une interface vba access 2003 a vb.net avec du vba , sous sql server 2003.
je sais pas combien ca va prendre en terme de temps tout en sachant que j'ai une base de données sql de 40 tables
T'en est ou toi ?
T'as des solutions ? des pistes ? Des tutoriels ?
par rapport au temps que ça devrait prendre, je dirai que ça dépend beaucoup des compétences de chacun...
mais sinon là j'en suis toujours à traduire le même formulaire access, ce que j'ai essayé de faire c'est de copier tout le code vba de ce formulaire depuis access pour le coller dans la solution du site web de l'entreprise sous visual studio, afin de voir directement ce qu'il se passe
j'ai plusieurs problemes, tu devrais surement avoir les memes aussi, a moins que tu n'ai trouvé une autre maniere de faire
d'abord, le code fait souvent appel a d'autres fonctions, qui se trouvent respectivement dans des tables ou modules de la base access, donc ne voulant pas intégrer toutes ces tables, je rajoute dans mon application web, seulement les fonctions qui m'interessent, celles donc qui vont être utiles à mon formulaire
ça, c'est un de mes problemes, mais mon probleme principal c'est de trouver, a chaque fois, l'équivalent en vb.net de ce vba, puisque pas mal de fonctions disparaissent pour laisser place a d'autres, et il faut trouver ces autres etc
récemment, j'en avais marre de devoir débugger tout ce code mentallement, puisque je ne peut pas faire de debug simple pour comprendre les erreurs, car j'ai, comme dis précédemment, énormément d'erreur de syntaxe
ce que j'ai fais donc, c'est de mettre en commentaire provisoire ce que je trouvais pas tout de suite, et par la suite je pourrais utiliser le debug afin de mieux comprendre certain mecanismes a effectuer pour ce forumulaire
voilà donc la voie que j'ai choisi de suivre, je suis certain que ce n'est pas la meilleure, mais je n'ai trouvé que ça
en ce qui concerne les pistes etc, j'ai gardé quelques liens, peut etre qu'ils te seront utiles, mais moi je n'ai pas trop trouvé mon bonheur dedans
Bonjour,
merci bcp pour la reponse et surtt pour les liens , je vais bientot m'y mettre car j'etais en congés.
sinon est ce que tu px m'envoyer le debut ou si possible une partie d ton code source car je connais pas comment se proceder , j'ai l'ancien code source mais j'ai du mal a demarrer , je t serais reconnaissant .
par contre je dois donner un compte rendu a mon encadrant donc je sais pas quoi repondre au niveau du delai (j'ai 46 tables ds la base de données), de la procedure a suivre pour la migration.
sinon t'as commencé par le portage des tables ou les formulaires ? ou comment t'as commencé ta migration .
merci d'avance et bonne continuation .
pour mon code source, j'ai pas vraiment réussi a faire quelque chose, je suis toujours bloqué à un endroit, et mon code n'est pas vraiment très bon, donc je préfère ne pas te le montrer pour t'éviter de t'induire en erreur
j'ai aussi l'ancien code source, et j'ai aussi beaucoup de mal à démarrer, apparemment on est dans la même m**** :)
niveau délai, je ne sais pas non plus combien de temps ça devrait prendre, tu peux répondre que tu ne sais pas mais qu'en voyant les choses avancer, tu pourrais mieux estimer le temps restant
en fait on m'a demandé de faire un formulaire, mais il est lié à quelques tables, donc je les fais en même temps, c'est pas comme toi qui doit toutes les faire, mais je suppose qu'il serait plus judicieux de commencer par les tables, à cause des trop grandes dépendances que demandent les formulaires, mais ce n'est qu'une supposition, je ne suis pas du tout expérimenté là dedans
là j'essaye plutôt de traduire le VBA en C# plutôt qu'en VB.NET, mais j'ai des erreurs étranges avec l'ASP, dès que j'aurai un code concret et pas merdique, je pourrais te montrer pour te donner des idées.
mais n'hésite pas à me faire par de ton code si tu as une question précise ou autre, ça m'étonnerai que je puisse t'aider, mais on ne sait jamais, et puis comme ça je pourrais voir à quoi ressemble ton code
merci pour ta reponse , moi j'ai du mal a commencer , par contre je vais convertir le VBA_Access au VB.NET , mais le probleme c'est que mon code VBA attaché a Acces est en .MDB et pour faire cette conversion il faut qu'il soit en .ADP , donc je sais pas comment je vais faire , a moins que je vais trouver encore un convertisseur (.ADP to .MDB).
Sinon t'as commencé par quoi au juste pour ton projet ?
j'ai copié/collé le code VBA dans un fichier VB.NET, et je corrige les erreurs, mais c'est le gros bordel je dois dire, je pense qu'il y a une meilleure solution
Oui peut etre on peut tenter la copie du code , mais ta copié quoi toi au juste?
t'es allé dans source et ta copié quel fichier avec quel extension car moi dans ce dossier j'ai des sous dossiers (forms, macros,modules,pages,reports settings) mais dans le sous dossier forms y'a plusieurs fichiers .
merci
a toi
PS : je suis pas encore jeune diplomé , je suis stagiaire , tu travailles ou toi ?
je sais même pas depuis quelle extension j'ai copié le code
en fait je le fais depuis Access, en cliquant sur le bouton "code" il m'y donne accès, et à partir de là je vois le code de "Modules", "Modules de classe", et "Microsoft Access Objets de classe"
et c'est à partir de là que j'ai copié le code de mon formulaire
Moi j'ai pas trouvé le bouton code dans Access , je travaille avec Access 2007.
Sinon dans Access dans le menu en haut , Database Tools y'a un boutton Visual Basic , j'ai cliqué dessus et il m'a ouvert un projet Visual basic avec du code source .
ok, moi c'est avec Access 2000 que je travaille, mais si tu vois le code source c'est que t'es au bon endroit, le bouton à sûrement juste changé de nom avec les versions d'Access
Bonjour,
ca fait longtemps que t'as pas donné de nouvelles de ton projet , t'en es ou ?
Moi j'ai crée les formulaires (63 formulaires) et la je dois coder mes boutons et listes , je suis vraiment bloquer , sinon t'as porté ton code VBA et tu l'as adapté au VB.NET ou C# ?
au départ j'avais commencé le portage sur VB.NET, et je me suis retrouvé bloqué par des erreurs que je ne comprenais pas trop
donc, connaissant mieux le C#, je me suis rabattu à recommencer le portage sur ce langage, mais je me retrouve à chaque fois bloqué par différentes syntaxes (DoCmd.Hourglass ; WebControls.ListBox.Column ; ...)
il semblerait que le portage soit plus compliqué sur C#
mais c'est très frustrant de se retrouver devant une fonction que l'on ne sait pas de quelle manière interprêter dans un autre langage, surtout que Google n'est pas du genre à décoincer ce genre de problèmes.
je suis à la limite de jeter l'éponge là, j'ai pratiquement rien réussi a faire depuis 2 mois et ça commence vraiment à me saouler.
je ne pense pas que je pourrais vraiment t'aider à te débloquer, mais je te souhaite bonne chance
Bonjour,
Moi je te conseille deja de créer tes formulaires sous Visual Studio sans code et aprés tu peux soit porter ton code VBA et l'adapter au code VB.NET soit de coder à nouveau en VB.NET.