Solved

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

Posted on 2004-09-18
5
391 Views
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.






0
Comment
Question by:bertstevens
5 Comments
 
LVL 7

Accepted Solution

by:
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!
0
 
LVL 1

Assisted Solution

by:ranjfoad
ranjfoad earned 166 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)
0
 

Assisted Solution

by:Vanadil0
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.

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!
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
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…

759 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

19 Experts available now in Live!

Get 1:1 Help Now