Solved

development time access versus vb.net

Posted on 2008-10-15
16
1,281 Views
Last Modified: 2013-12-05
I would like to know people's opinion on turnaround time when building a custom software app using an Access ADP versus VB.net and the further upside versus downside in deploying the software to a client intitially and in the future as changes occur.
0
Comment
Question by:khansenlss
  • 6
  • 4
  • 2
  • +2
16 Comments
 
LVL 40

Accepted Solution

by:
Vadim Rapp earned 125 total points
ID: 22721155
Access adp has much faster development. VB.net development is quite slow, somehow on literally every step you have to do some research. There's incredible abundance of various objects, and something always does not work, or not as you would expect. Probably with time and experience every develop finds the optimal subset of techniques to work with, but it's much slower than with ADP. Even for a most trivial program, that I can write in vb6 in 2 minutes, if I try it in vb.net, in 5 minutes I am already googling for some unexpected problem where none were expected.

With ADP you actually achieve the best results when you bring your programming to the minimum and let Access do everything, i.e. you are using data-bound forms, specify properties, and Access does everything else, including navigation, search, editing the data etc. Many Access developers do exactly the contrary, i.e. they use Access as they would VB6, trying to program everything themselves. That is, instead of making bound form with bound controls, they make it unbound, then programmatically create ado recordset and then manipulate the controls with the code. There are even books that teach how to do that. So, where there could be one specified property, now there are 2 pages of code, and accordingly the time of development increases. Having been answering questions about Access for X years, I can attest that about 80% of all developers' difficulties are caused by nothing else than this approach, and the answer all too often is "throw away all  your code and instead specify this property". If you don't step on that path, you will find Access development extremely fast and effective.

Deploying the software boils down to copying one ADP file, nothing else - provided that the client has already installed Access Runtime. Of course if the project is using external references, they have to be included as well, as usual.

Access Runtime is available to you once you purchase so called Office Developer, then it's royalty-free, i.e. you buy once Office Developer and then you can give Access Runtime to any user. Office Developer can also create the installation itself, where Access Runtime will be included as prerequisite.

The only precaution would be against Office 2007. The best, most stance Access is 2003.

Note however that in the not so distant future, Access most likely will be discontinued - first ADP, and then most likely MDB as well. Microsoft wants us to program in .net, so they now bake new release of visual studio almost every year, adding new thousands of objects in each one - much faster that one could learn them, not to mention master.
0
 
LVL 18

Expert Comment

by:jmoss111
ID: 22724966
Access may change, but as long as Access has the market penetration that it has it's not going anywhere.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22728647
vadimrapp1,

Rumors of the demise of Access have been around since Access 2000.

"Note however that in the not so distant future, Access most likely will be discontinued"
Plese site your sources.
I was at the developer conference and MS stated that they had no plans to discontinue Access.
Or any other App in favor of VB.net.

Access the RDBS will be around for quite a while. There will always be a need for RAD.
The Programming language behind it may cahnge, but "Discontinued" is a stong word.
;-)

JeffCoachman
0
 

Author Comment

by:khansenlss
ID: 22730268
From what I have seen my impression is that VB.Net allows you do some "cool" things, however, if you need to build a client an application, keep it practical yet powerful and be able to turn it around quickly, Access is still king.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22731716
You can do thoes same "Cool" things in other platforms as well.
The big selling point to .net is the Web connectivity.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 22731718
> Please site your sources.

There was no official statement, but here are some useful discussions between people quite knowledgeable in Access, like Sylvain Lafontaine, that I think provide good insight.

link1
Access team blog - practically no mention of Projects in the future plans.
link2

Plus the facts that
  1. there were clearly no significant new features in Access ADP
  2. in Access 2007, even creating the ADP has become so obscured that you wouldn't find it if you don't know it's there, plus some research.
Though, again, it's all unofficial, and things may change in Microsoft plans, depending on many politics. For instance, new hotfixes that you see announced in the same Access Team blog, do address issues with ADP.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 22731736
0
 
LVL 18

Expert Comment

by:jmoss111
ID: 22731822
I can understand no new significant features in ADP
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22737893
Yep,

ADP,

I was thinking of MDB's
;-)
Jeff
0
 
LVL 84
ID: 22756118
As vadimrapp said, ADP is most likely going to be much faster. The ADP handles many of the nuts-and-bolts items for you such as data binding, etc etc and Access is geared towards rapidly building data-centric applications, whereas .NET is intended as a generic development environment. Sort of like rebuilding your Ford motor at a Chevy dealership - you can get it done, but you'd probably find it easier at a Ford dealership since all the right tools and parts would be on hand.

I've always found Access to be difficult to deploy, especially with remote users. The runtime makes things nice, but installing the runtime on a machine with other Full versions of Access can cause some serious issues, and get you a whole bunch of really nasty support calls. With other compiled applications (VB classic or one of the .NET) all you need is the runtime files on the machine (and they're almost certainly already there) so you don't have to worry that your Access Runtime install will "take over" the enduser machine and open every .mdb/.accdb file with the runtime.

As to the demise of Access, I'd give some credence to what vadimrapp is saying ... the newest version of Access (2007) certainly didn't win over any developers, and it's pretty obvious that MS want's us to move to other languages - there were no significant developer-centric modifications made to 07, and in fact several things that were fairly important to developers (ULS, for one) were completely removed. I doubt Access is going away anytime soon, but to me a "forward thinking" developer would probably start learning the nuances of the .NET language of their choice.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 22757605
> installing the runtime on a machine with other Full versions of Access can cause some serious issues

I think the optimal way is having only ADE/MDE extensions assigned to the runtime, and accordingly, deploying the solution as ADE/MDE. Then the user can design his own project using full Access, and they wouldn't be able to design a compiled one anyways.

This can be achieved by a transform to the MSI installation.
0
 
LVL 84
ID: 22759976
That's one path, but I'd hate to remap any extensions on a user machine. To me, the best solution for deploying Access applications is to use the Sagekey Scripts, which associate your app with a specific version of Access (the runtime, typically) and don't muck around with associations.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22760058
LOL,

I think this thread just went over my head!
:-O

Jeff
0
 

Author Comment

by:khansenlss
ID: 22761140
We deploy several ADE installation using Access 2002 runtime and using the SageKey Scripts, however, this doesn't seem to cure the issue.  As an example I have full blown Office 2007 installed on my machine plus an application we wrote that utilizes Access 2002 RunTime and depending on which I open first, all addition openings of an access related file will either default to the runtime or Access 2007.

Does anyone have any additional tips on how to deploy run-time with the Sagekey scripts and keep this weirdness from happening?
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 22762517
> I'd hate to remap any extensions on a user machine

You are too shy :-). You should really look into what "big guys" are doing, for example, Adobe Reader installation; to what degree of absurdity and violations of all possible standards and common sense they are going in order to "cleverly" decide whether to handle .pdf by Acrobat or by Reader, in case both are installed.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 22828689
regarding the topic of the future of ADP's: here's new article from MS:

http://technet.microsoft.com/en-us/library/cc178973.aspx

some notable excerpts:

" Office Access 2007 offers two ways to connect to SQL Server data: linking to SQL Server and Access Data Projects (ADPs). The preferred way to connect to SQL Server is MDB file format orACCDB file format. This enables you to use the full flexibility oflocal tables and local queries, while leveraging the full power of SQLServer. In addition, MDB and ACCDB files link to multiple SQL Serversand a wide variety of other data sources. Office Access 2007 containsmany new features available in both MDB and ACCDB file formats, butonly a subset of those features are available in ADPs."

"However, there are some scenarios where a report might be generated significantly faster in an ADP file. To add these performance improvements and retain the flexibility of SQLServer, you can build the majority of the application in an MDB orACCDB file and have the file load reports from a referenced ADP file."

"One advantage that ADP files have over files in MDB or ACCDB format isthe ability to make design changes to SQL Server objects. ADP filesinclude graphical designers for tables, views, stored procedures,functions, and database diagrams."
Only one advantage they see, that is. I think that about puts the nail in the coffin.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

705 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

22 Experts available now in Live!

Get 1:1 Help Now