Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


chosing between Access and VB.net - coupling data to objects

Posted on 2004-09-18
Medium Priority
Last Modified: 2010-05-18
I'm about to co-develop a inventory/customer/order/invoice kind of database application. The application is for intranet use in small workgroups (up to 10 users or so). I need help chosing between access and vb.net.

I like access because of the ease of building forms and reports, and there is no coding involved to get the data on master/detail forms and update the data.

If building forms was as easy in access i would chose vb.net because as a java programmer so i like OOP (for more easy to maintain and extend code). On the other hand i don't have database expierence in vb.net. I looked into vb.net/ado.net but to seems quite hard to couple data to objects and place properties from those objects on forms (i.e. a object customer that gets data from db, and exposes properties as 'name', and i put that property on a form as a textbox). I also looked at tools that generate the data/business tier (money is not the primary issue). Also i don't know if crystal reports is as easy as drag and drop 'reports' in access.

Wich one should i chose?
Is it easy to use 'business objects' on forms in access and let the datalayer be generated? Or is this overdone for this size of project (although i might want to expand in the future)? Pointers to tutorials/samples/architectual examples are welcome too as long as they make it clear for me if vb.net is a good option to chose, and NOT more work in the long run.

Question by:bertstevens
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Accepted Solution

J_Mak earned 672 total points
ID: 12091507
ADO .NET is great tool once you start getting the hang of it. As you may know, VB .NET can be used together with Access. VB .NET can be used as your front end such as forms and Access as the back end database.

Its quite neat actually, because the concept is based on using DataAdapters and DataConnection as a bridge between VB .NET and Access. Some very useful ADO .NET functions include row.add(), row.delete(), and plenty of others.

When you have made changes to the tables and are satisfied, and then you would like to commit the changes to your Access database, all you have to do is call AcceptChanges() to do so. Otherwise, you can cancel all changes by using the RejectChanges() function.

It's quite a powerful tool that is ADO .NET. I would suggest you choose VB .NET because it is so much more flexible in terms of the facilities you are given and the potential to which you can use them.

Also, to be even more powerful, instead of using Access databases, you can use XML to store all your data. VB .NET supports this and contains its own XML Namespace, which is very useful indeed. All the functions that I mentioned above can be used in the same way. It is very flexible. Just go for it. XML also stores the data at a smaller size to what Access would. Hence it is more convenient and extremely diverse.

Hope that helps!

Assisted Solution

ranjfoad earned 664 total points
ID: 12109162
I get for your case its better to use vb.net with ado.net because they perform better in networks (internet or intranet) since ado.net is a disconnected Database object and this will make the network trafik less, and i have used MSAccess in networks, it has alot of performance probems (specially when you have more than one user)

Assisted Solution

Vanadil0 earned 664 total points
ID: 12109892
IMHO there is several things you have to consider and balance.
 1.- MS Access is a file-access database, mostly oriented to final user so it has simplified forms and reporting tools; you can make "applications" and distribute them, but this wasn't the main idea behind the product.
 2.- Because of that, you have limitations when working with Access: 10 users accessing the same .mdb at the same time will result in performance problems, blocked rows, etc. Besides you'll have security issues to handle and Access is not the best DB for that.
 3.- One thing you should think about: how many records do you estimate the tables will have? Don't forget the system is a living thing, so may be today was about dozens of records daily, but tomorrow this could be hundreds or thousends. Even Access could manage them, this doesn't mean it do it right. For instance: do you think in only one mdb file, located in a server, or several (individual) files? Did you think about transactions and how to handle them?
 Perhaps a better choice was a combination MSDE + VB.Net: that way you'll have performance (up to 10 users), SQL security model, scalability, a better OOP environment and a development platform that is here to stay and prosper.

 4.- Obviously, developing with .net will demand from you a learning process: so you have to think in two main things at this point: money and time. Even if you (or your company) have the money, only you (or your clients) know the time you can spend in the "learn & deploy" process.
 5.- But finally, your question is what "we" (other people) think... I can reformulate this question as "... if I spend my time (and money) learning .net, will it worth it? " If that was the question, I could certainly answer yes. .Net is not only a very good developing platform, but also an impressive way to take you further. There is also a growing number of components that help you in many ways (reporting, charts, etc). And finally, this could be a good starting point for using other DB engines besides MS Access.

www.vb2themax.com, www.fawcette.com/vsm, www.developer.com (http://www.developer.com/net/vb/article.php/3068111), http://www.hitmill.com/programming/vb/primer.html are some good sites to look as a begining.

Good luck!

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
What do responsible coders do? They don't take detrimental shortcuts. They do take reasonable security precautions, create important automation, implement sufficient logging, fix things they break, and care about users.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
Simple Linear Regression

618 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