chosing between Access and - coupling data to objects

Posted on 2004-09-18
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

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 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 I looked into 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 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 168 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 166 total points
ID: 12109162
I get for your case its better to use with because they perform better in networks (internet or intranet) since 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 166 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.,, (, are some good sites to look as a begining.

Good luck!

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
C# Error - Add Failed 12 99
Create .bat File 16 73
Java array 10 63
Java Inheritance super keyword use 8 38
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.

733 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