Solved

Upgrading from VBA program to Vb.Net - also upgrading to sql server - asp.net or vb.net?

Posted on 2006-07-04
12
319 Views
Last Modified: 2008-03-06


Hi

  i currently have designed a VBA program that is very comprehensive and we are thinking of trying to sell it commercially.

  Since the program is currently a VBA frontend linked to an Access database, I am thinking of upgrading the sytem to Vb.net and using sql server database.

I am wondering will I have to Start from scratch in design process, or is there a quick way around this i.e upgrade tools?
I also am wondering about the Reports, they are currently designed in Access, im sure there not compatible with sql server?

This is probablly a complex task that lies ahead, but it should be worth while, I was advised maybe to look at using asp.net as the frontend, instead of vb.net?  is this advisable?

Hope someone can give me some advise?
Thanks
Stephen


0
Comment
Question by:cstephen100
  • 6
  • 4
  • 2
12 Comments
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17036355
ASP.Net is a technology rather than a language. You can write ASP.Net applications using VB.Net.

Its probably best to start from scratch as VB.Net is a fully-fledged OO language, unlike VBA, and you can probably refine your app to take advantage of OO methodoliges and .Net technologies that aren't available with VBA.

You are correct about your reports, they won't be compatible with SQL Server. You may want to look into either SQL Reporting Services, or Crystal Reports.
0
 

Author Comment

by:cstephen100
ID: 17036413

Hi
thanks for reply,

  What is the better report service? i.e sql server or crystal.  Are they both more powerfull than access reporting?

Also, is there any way of converting any of the forms from vba, i.e will any of the code work or does everything have to be re done?  Can I rebuild the forms and use some of the vb code? i.e algorithms etc?

Thanks
Stephen
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17036493
>> What is the better report service? i.e sql server or crystal.

They are both powerful. Crystal is third party so requires you to ship extra components with your app. Reporting Services is SQL Server only, so you would lose it if you ever wanted to support Access/Oracle or any other DB.

>> Also, is there any way of converting any of the forms from vba

The forms themselves won't transfer, but you should be able to salvage some of the code with only minor changes. VB.Net still supports some of the older VBA syntax, plus newer ways of doing the same thing.

And, of course, there are plenty of people on EE who will be able to help if you have any problems with the changeover.
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17036579
If u didnt want to use vb.net, u can simply upsize your MS Access database to SQL Server
The frontend can remain the same, bar the linked tables
Queries may need some tweaking
Suggest u use a ADP instead if u do this
0
 

Author Comment

by:cstephen100
ID: 17036700
HI

  I am looking at doing 3 day course on migrating to vb, is this a good option or is there loads of information on web or in books? and of course using expert exchange excellent expertese.

   We wouldnt have used .net before so it is a concern of mine, i.e time is factor? and I would like to get to speed quickly, is the migration process time consuming and worthwhile?  

Thanks
Stephen
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17036737
Personally I think it would be worthwhile migrating, the trouble with VBA is that you are tied to one of the Office applications rather than having a standalone app.

A course may be a good idea, it depends on your own prefered learning style I guess. There are plenty of tutorials on the net but they tend to be weighted towards people brand new to VB.Net rather than people who are migrating. Personally i'd been using VB6 for 5-6 years and I found the move to .Net easy enough, although I have a C++ background as well so the move to full-fledge OO wasn't as big a change as it might have been.
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 

Author Comment

by:cstephen100
ID: 17036758
Hi

   I actually have used C++ before and Java also, but not commercially.  I have a good idea of the theory behind object orientated, so maybe the change would better than I expect?

The gui interfaces are much better in .net would I be correct in stating?  would you advise maybe using a web style interface for the application, i.e on iis, is that going down the asp.net route though.   the system used for a lot of data entry so does the interface have to reflect this?

 Thanks very much

Stephen
0
 
LVL 65

Assisted Solution

by:rockiroads
rockiroads earned 100 total points
ID: 17036799
For a intro to asp.net, u should have a look at ASP.Net Web Matrix. Its a neat little tool that allows u to create asp.net pages and link to a number of different db's

Here is a MS link for u that may help - converting VBA to VB.Net. This should give you a good headstart.
Note VBA covers more than Access, so u have to look at the code examples generally and see how they apply to u
http://msdn.microsoft.com/office/default.aspx?pull=/library/en-us/odc_vsto2003_ta/html/vbaconvert.asp

0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17036806
Developing ASP.Net apps is a lot more like developing Windows apps than it used to be. It depends largely on how you see your app being used and distributed. Of course, if you go for an N-Tier architecture then you could feasibly plug a WinForms or ASP.Net front end on to it, or both.
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 17036811
If you are just starting with .Net now then ignore v1.1 and go straight to v2.0.

1.1 is legacy so its not worth the hassle.
0
 

Author Comment

by:cstephen100
ID: 17036880

Hi

Thanks for all the help, im a lot clearer now.
I was looking at have users as an additional cost, so there will be multiple users,  these users could be in deiffernet offices, so they may need to link to database, possibly using VPN's etc, terminal services possibly.   Is ASP.net interface as scalable as Vb.Net interfaces?  or is there majour differences?  Is speed of production slower in using one over the other.   I could have up to 50 users using the product.

  sorry if dragging question out a bit,
Stephen


0
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 400 total points
ID: 17036963
Part of the problem you will face is the shear number of options available to you.

Distributed computing like you mentioned is certainly easier with an ASP.Net application and updating the application is certianly easier because you will only need to update a single web server (or web farm) rather than having to update each client. There are more security issues with ASP.Net apps, both from rogue users trying to access the site and because of the security restrictions imposed by browsers.

Remote databases are certainly possible using VPN connections, or .Net Remoting, or Web Services or with an ASP.Net app. Again, if you tiered your app then you could create a data tier using Web Services that could be made available to both a WinForms app and an ASP.Net app at the same time.

Overall an N-Tier architecture would offer the most flexibility, but it puts extra emphasis on the initial design of the application. If time is a major factor then you may find a straight-forward conversion to a WinForms app would be the quickest.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now