Office Developer or VB.NET?

  • Thread starter Thread starter News
  • Start date Start date
N

News

If I wanted to get away from requiring Access for users, is the better route
Office Developer or VB.NET?

Thanks. Sean.
 
It really depends on how much of a application you have now.

You have to balance out the learning curve of a new product (likely a good 6
or more months before you can get any kind of decent productivity out of the
product). If I recall, it took me at least one year before I could get any
good development speed out of ms-access. (and, I had been a full time
developer for 10+ years. I also had a strong coding background and took
computing science at University of Alberta.

If you are just learning ms-access, or just learning vb.net, then the above
issues don't matter so much, as you need to invest a LOT of time to learn a
product.

In addition to the long period of learning, you will also find that a non
database system like VB6, or vb.net takes considerably MORE time to develop
a product. Products like vb.net are NOT a database or so called data centric
system. Since these systems are general development platforms then you can
write a games, or even write a word processor if you wish!. So, these
general development systems are NOT database products, and as a result you
will generally find the cost of development around 2 or even 3 more times
then what ms-access takes. We are talking about data centric try products
here. Of course, we don't try and write a game in ms-access either. So, the
right system, and development tools for the correct type of project makes
the most sense here.

All I am saying is that after you spend and invest that large amount of time
learning the development system of your choice, what took you 3 months in
ms-access will now take you 8 or 9 nine months to development.

I wish I was in your position, where I could just wake up, and say...hey..I
going to develop software and I can pick my tools. Most people don't just
have 6 months of free time to learn a new tool. If you really are in the
position to do this..then pick the one that takes the longest to learn, and
the longest to develop your software!

So, it really comes down to what platform you know now. For large and wide d
istribution of a product, vb is generally better. With vb.net, well, you
need to install the large runtime on the target pc, but your install tools
are better then ms-access.

If you are going make a large investment in time to learn and setup and
package and deploy your application, then in the case of ms-access, I would
consider sagekey.

Check out

www.sagekey.com

So, if you do have the time...then sure...vb.net is likely better for
distribution...but it really comes down to how much time you have. With a
larger distribution, the increase in development time with tools like vb.net
is well worth the extra effort. There is a incredible and huge difference in
the quality of software written for a client of mine down the street as
compared to some software that is to be distribution to large numbers of
people. The level of craftsmanship in widely distributed software is far
higher, and you can afford to spend far more time on little things.

So, not knowing the kind of distribute numbers you are talking about, it is
hard to give advice here. If you are talking about just a few copies of an
*existing* access application, then likely the solution is to get the client
to purchase ms-access. Or, you can speed a few days (probably about a week)
to learn and use the access runtime. However, after that 1 week, and you get
your applctiong running, then I would use sagekey scripts.
 
Thanks for all the info Albert!I was thinking of VB.NET because of the low
price for standard, but you're right, stick with what gives you the best
tools. After all, tools are the most important part of software, having
spawned every programming language we use because someone needed some
different "tools".

Thanks. Sean.
 
Sean,

That guy is talking crap. An Access database can be used
with VB.Net, JSP pages, HTML, and Access's IDE.

The benefit of not using Access's IDE is not having to
confront the learning curve he was talking about. It is a
totally different world because it creates its own
language of development as it tries to call itself object
oriented.

It even steps out of their own VB language to add more
and hides even more code behind the scenes for you to
decipher what it is doing because they hide it so well,
not to forget, the manuals don't help you when you start
getting good at what you are doing.

The more you try to do, the less help you get!!!!!!!!!

The real question is whether you want to be a
professional with your own name or a professional with a
Microsoft name. They will lead you by the nose as long as
you let them.

I suggest JAVA. It lets you do what you want and doesn't
make you do what it wants.

Good Luck!
 
Skeptic said:
That guy is talking crap.
Rubbish.

An Access database can be used
with VB.Net, JSP pages, HTML, and Access's IDE.
Sure.

The benefit of not using Access's IDE is not having to
confront the learning curve he was talking about.

But Sean appears to already be comfortable in Access so anything else
is a learning curve.
It even steps out of their own VB language to add more
and hides even more code behind the scenes for you to
decipher what it is doing because they hide it so well,

Takes me 3 or 4 seconds to find code. Very similar to VB actually.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
Skeptic said:
Sean,

That guy is talking crap. An Access database can be used
with VB.Net, JSP pages, HTML, and Access's IDE.

Having a bad day..are we?

The fact of the matter is that ms-access is NOT a database. I repeat,
ms-access is NOT a database. You can write your ms-access application, and
the data store can be Oracle, SQL server, or the default data engine called
JET.

In fact, for the last 3 versions of ms-access, you don't even have to use
JET at all, and can use a 100% OLEdb connection to sql server. This means NO
local quires, and this means NO local tables. In fact, it means 100% of the
query processing occurs on the server side. In fact when you use an access
project, you CAN NOT even have local tables!

Access is a appropriately called "access", since it is a client development
tool to your favourite database engine of choice.

The database engine you likely are referring to is the JET database engine,
and you don't have to install ms-access to use that engine. So, sure, you
can use the JET database engine to work with a mdb file. And, yes...you
don't even need to install ms-access.
The benefit of not using Access's IDE is not having to
confront the learning curve he was talking about.

Well, I just had started that the learning curve in ms-access is not that
easy!

The programming language in ms-access is VBA, and for all intensive
purposes, this language is 99% the same as VB6. The ONLY difference is that
the forms object model is different. I would be most un-fair if I did not
point out that since so much development in VB6 (or ms-access) centers
around the forms object model, then that certainly is a large difference
(however, the language is the same in both). So, while the programming
language in ms-access is the same as VB6, since so much of a application
centers around the forms object..then yes..there is quite a difference.
It is a
totally different world because it creates its own
language of development as it tries to call itself object
oriented.

I am not sure what you mean by the above. I will state that the learning
curve to learn the ms-access forms model IS MUCH LARGER then the learning
curve for VB6. The reason is simple:

ms-access forms have about twice the amount of properties, and has about
twice the amount of methods compared to VB forms.

For example, in ms-access we have both a forms on-open event, and a forms
on-load event. This is one of those brilliant design decisions that
ms-access has, but VB6 does NOT have. However, you are now faced with
learning, and having to understand the fact that you have two events where
as the lame VB forms only have ONE. Most developers jump into ms-access and
are complete oblivious to this marvellous change that ms-access has over
most IDE's.

The on-open event:
This event occurs as the forms opens. You can't yet modify data, nor has
the form yet displayed. However, you can examine data, and if some criteria
is not met, then you can set cancel = true, and the form does not load (try
that in VB6...a REAL YUK situation to duplicate). The workarounds in VB6 are
real messy, and a pain to implement. In fact, often he solution is to check
in code BEFORE the form loads (great..now you need code every time BEFORE
the form loads...yuk!). I have often used the on-load event for record
locking, and if it fails...you can bail out of the form load. What is nice
is that the form does NOT display, and all of the forms on-load
(initializing) setup code does NOT run.

Once the form is opened, we then have the on-load event. In the on-load
event we place stuff like initializing your class objects, and all the forms
module setup code goes in this event. In other words, in ms-access we have a
brilliant design as the two events thus separates "checking" / "test" code
vs start-up and initializing code. This is something that we never had in
VB6. It also means it is something that as a developer one never has to
learn either!.

Similarly, on the close side, we have:
Before update
After update
on close
on un-load
on deactivate
on lost focus.


I count 6 events that you "may" have to deal with when closing a form. How
many events do you deal with when you close a form? Heck, for delete a form
we have:

On Delete
On Del Confirm
After Del Confirm.

I could write for pages and pages here. Suffice to say that the amount of
stuff you have to learn in ms-access is MANY TIMES that of VB6 forms.

So, as I said, ms-access forms actually have a steeper learning curve then
VB6.

However, due to wizards and the ease of use (those bound data forms), then
you can START using ms-access forms quicker and a lot easer then VB6 forms.
Further, the fact of more complex forms in ms-access means that the FORM
does all the work for you, and you don't have to write reams and reams of
code. This is why development in ms-access is 3 or more times productive
then is vb6. I mean, really,each system lets you place controls on the
screen at the same rate....it is what you do after is the key!

So, while ms-access is easer then VB6, ....after you get going...the
learning curve for ms-access forms is actually LONGER then are VB6 forms to
use!

And, by the way, I often write and develop class objects in ms-access. You
can read the article of mine here:

http://www.attcanada.net/~kallal.msn/Articles/WhyClass.html
It even steps out of their own VB language to add more
and hides even more code behind the scenes for you to
decipher what it is doing because they hide it so well,
not to forget, the manuals don't help you when you start
getting good at what you are doing.

I am not sure if the above your talk about refers to ms-access? Having used
a lot of IDE's over the years, I HAVE NOT yet found a product that lets you
navigate FASTER then does ms-access to a particular event code. The IDE in
ms-access is rather impressive from a navigation point of view. You simply
run the application until you get to the point you want to modify the vb
code. You then flip into design mode. Any command or button can then be
right clicked and you jumped into the VB6 IDE. Having used both VB6, and
ms-access....ms-access wins hands down. I not going to even start about
things like placing labels beside controls....again ms-access is WAY better.

And, further ms-access does NOT use the lame VB6 controls. So, for example
our combo box allows multi-columns, and have MANY more useful properties and
methods (like the "not in list" event for example). Once again, the native
ms-access controls are FAR FAR better then the VB controls. However, it does
mean again that far more learning is required for using those controls! If
you just use the brilliant IDE, then placing and using those controls is
EASIER then VB6. However, to master those controls, and use code with them,
it in fact takes longer then VB6.

For example, our text boxes have both .value, and .text properties. So, the
IDE does not really hide the complexity...but ms-access just makes it so
easy to develop. (a big difference between hiding...and making something
easy..)

Further, ms-access has several brilliant designs in its forms objects. We
for example can switch a form into continues mode. This has got to be one of
the most brilliant design features of ms-access. For some screen shots of
continues forms and what I am talking about....check out:

http://www.attcanada.net/~kallal.msn/Articles/Grid.htm
The more you try to do, the less help you get!!!!!!!!!

Gee, I don't know what that above means? Ms-access is by far and aware the
most popular data client development tool out there. We answer in excess of
30,000 posts per month in the ms-access newsgroups (I am not kidding!) Show
me another product that has that many posts per month?

And, if you need some free and useable source code for a access problem, it
is hard to beat the number of web sites and code examples available for
ms-access. From both a free code example point of view, and from the number
of people who answer questions...ms-access can't be beat. I am really at a
loss at to what you mean by lack of help.....
 
Very similar to VB actually.

In fact, the VBA library is the core library of the separate ("classic") VB
language product ("classic" means through VB v6, not the later VB.NET) so
"similar" is something of an understatement.

Larry Linson
Microsoft Access MVP
 
Larry Linson said:
In fact, the VBA library is the core library of the separate ("classic") VB
language product ("classic" means through VB v6, not the later VB.NET) so
"similar" is something of an understatement.

What I meant was the method of getting to the code is very similar
between Access and VB.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
News said:
Thanks for all the info Albert!I was thinking of VB.NET because of the low
price for standard, but you're right, stick with what gives you the best
tools. After all, tools are the most important part of software, having
spawned every programming language we use because someone needed some
different "tools".

Thanks. Sean.


good learn wide difference
 
Back
Top