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

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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
This is about my first experience with programming Arduino.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

856 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