WHY

  • Thread starter Thread starter Guest
  • Start date Start date
Harald Staff wrote...
....
Good luck to you too. Have a nice skillset.
And please stop this.

If you don't like what comes out of a troll's orifices, don't feed him in
the first place! If you do feed the troll, live with the results like an
adult.
 
I'm just trying to WARN you guys to watch out for your careers. Typign
the same spreadsheet month in and month out isn't the most efficient
way to do things anymore.

No, really?

Some people just have to consider breathing too boring & repetitive. More
sensible people don't think about it.

Spreadsheets are overused, and Excel is overused because it's the most
widely used spreadsheet. Most spreadsheets are poorly designed because they
weren't originally created with reuse in mind. Also, most spreadsheets are
created by people with little or no training in software engineering or
programming. Those people would also make a dog's lunch out of Access or any
other programmable application development platform you had them use. It's
not the tool, it's the lack of training and discipline. Unfortunately, it's
easier for *most* people (you may be exceptional) to reach a given level of,
er, productivity in spreadsheets than most any other type of application
development platform.

And as long as *most* people turn to spreadsheets (like Excel) rather than
DBMSs (like Access or more heavy duty ones, i.e., the sort that create
indices in background and provide serious referential integrity), there'll
continue to be lots of work for spreadsheet jockeys.
 
Ken what makes you say 'real database'

I'm really curious-- where do you guys get a bad taste in your mouth when
you talk about Access?

Access handles a gig of information just perfectly.. Same with SQL Server.
....

A gig is nice. Can it handle data by the terabyte? Spread over multiple
storage media? On sequantial access devices, e.g., tape?

Can Access be tweaked to work with RAID storage devices? Can Access make use
of multiple processors? Can Access create indices in background? Can Access
modify table storage in background to make canned procedures more efficient?
Can Access provide referential integrity? Does Access adhere to the ANSI SQL
standard? (Hint for that last question: try to make COUNT(Distinct X) work
in Access.) Does Access support complex nested queries or is it limited only
to queries it can display in its graphical query design interface? Does
Access support Create Table or any other SQL DBMS admin commands via SQL
code?
Access isn't just a database-- I never specified that I was talking about
MDB; by the way.. I was actually talking about ADP; and that connects to a
real database-- and you can actually use grownup functions; in one place--
instead of having mountains and mountains of crazy links and calculations in
Excel.. you can have real business logic in a database.

You *can* have real business logic in Access. You can also have undiluted
crap in Access. You *can* also have real business logic in spreadsheets.
It's all a matter of design and implementation discipline. This isn't
anything new. It's always been possible to write good software in Assembler
and poor software in [name any programming language based on the latest &
greatest CS paradigm here].
And the tools that ship with Access 2002 and newer-- they let newbies write
SQL Server stored procs and views.
....

Stored procedures and views on real DBMSs are representable as SQL code, so
possible to store in text files. This is saying little more than that
current versions of Access provide tools to write the equivalent of
structured text files. No big deal.
Why don't more SQL developers use the most powerful tool in thier toolbox?

Good question. Now, are you confusing, say, 99.44% of spreadsheet users with
SQL developers?
And if newbies can write sprocs and views-- why is Excel around AT ALL
ANYMORE?

Because there are some things that are absurdly difficult to implement in
DBMSs compared to spreadsheets, a fact with which you seem blissfully
unaware. Simple example: ever tried to use Access to construct an
amortization table? How about using Access in what-if modeling of any sort?
How about using Access to do anything that uses violently nontabular data
structures? Yes, I remember enough of basic database design and relational
normalization to know that any data structure can be reduced to a table if
such tables can have an arbitrary number of columns (fields), but such
tables can be highly inefficient at times.
 
use the right tools for the right occasion.

Excel is overused and Microsoft is going to fail because of it.

Obviously you've never seen all the thoroughly pointless Perl code (as in
done more efficiently and more appropriately using other languages or tools,
e.g., any and all numeric code) floating around the Internet.

Unwise to hold your breath waiting for Microsoft to fail due to overuse of
Excel. Myself, I'm much more worried about overuse of PowerPoint. Life was
much more pleasant when presentations were very expensive to produce and,
thus, very rare.
And WTF are you talkign about, no serious developer??

Serious developers, at least database developers, are those who design for
systems involving terabytes of data accessed simultaneously by possibly
several processors on possibly several physical systems but acting as a
single logical data server.

SQL Server may be in this class. Access on its own ain't.

Perhaps Access is a good database application design platform, but
reasonable people could differ in that regard. For applications which
databases could handle easily, Access would be a better application
development platform than Excel, but there are applications (perhaps you
haven't seen any) that are profoundly ill-suited to databases. For many of
those, Excel is MUCH BETTER than Access.
Take your attitude problem about Access and shove it.
Ditto.

We're coming for your jobs, Excelheads.. I can't wait to kick you all
out on the streets.

Here's a nasty little fact for you to consider: most serious Excel users (a
small percentage of all Excel users, but it seems it's the group you're
targetting) are subject matter experts who only use Excel as a tool to do
their real jobs. On the other hand, most SQL developers are generalists, a
nice way of saying clueless about what real businesses do. Perhaps one of us
may hire someone like you now and then, but you in particular would have to
work on your attitude.
You've invested in the WRONG technology for a decade too long.

That's what many have said to APL and COBOL developers for decades. Granted
there are now more Perl, PHP, C/C++, Java and VB programmers, but there's
still demand for APL and COBOL programmers.

People who use spreadsheets as application development platforms generally
aren't programmers, and (key point here) AREN'T EXPECTED TO BE PROGRAMMERS.
You're assuming they are. False premise, unsound conclusion.
Time to grow up and start building tools; not typing the same spreadsheet
week in and week out.

Just speaking for myself, anything serious and repetitious I do becomes
either C or Perl code. Who'd use a toy like Access?
I mean-- come on guys.. grow up and start using Access.

ADP = familiar tool for developing reports against SQL Server.. the only
database on the market.

Obviously you don't work in financial services and have no experience of
using DB2 on mainframes against historical transaction databases of tens to
hundreds of millions of records stored on tape cartridges.

It's nice to read your rants. Nothing like a undiluted inexperience.
 
If you don't like what comes out of a troll's orifices, don't feed him in
the first place! If you do feed the troll, live with the results like an
adult.
I find this thread quite amusing, parts very interesting, and nothing in it
bothers me, Harlan. I just tried to indicate that he's made a fool of
himself sufficiently and this might be a good place to stop for now.

Best wishes Harald
 
Can Access ...?

You don't seem to discriminate between the MS Access app, which is a
database management tool and forms-based, data-centric RAD package
(i.e. it ain't a database) and the underlying database which is MS Jet
by default but may be another DBMS e.g. MSDE. But I'll take it you are
using MS Access and MS Jet interchangeably.
Can Access provide referential integrity?

DRI via FOREIGN KEY constraints, ON UPDATE CASCADE, etc? Then yes it
can. The MS Access community call them 'Relationships' (well, not
strictly the same thing but DRI is in the mix or can be created
independently).
Can Access create indices in background?

I'm not sure what you are getting at with this one but MS Access (as
opposed to MS Jet) does often create indexes in the background and it
is very annoying. If you create a column in the MS Access UI whose name
ends with _ID (among other suffixes) then it creates an index for the
column. Just last week I was trying to create a foreign key via DAO, I
had created a unique index and the foreign key wouldn't take because it
insisted on creating its *own* index. I prefer to do these things via
Jet and ADO i.e. to be in control of index creation.
Does Access adhere to the ANSI SQL standard?

Which standard? Your example is SQL-92 (the 'past' standard) but the
mimer SQL checker tells me it isn't core SQL-92. Are you aware of a
DBMS that implements all of SQL-92?
Does Access support complex nested queries

I think you are referring to derived tables e.g.

SELECT DT1.my_count FROM (
SELECT COUNT(my_col) AS my_count
FROM MyTable) AS DT1;

Support for derived tables was introduced in Jet 4.0 (Access2000).
is it limited only
to queries it can display in its graphical query design interface?

No. Think about it: you can query a .mdb file via ADO and that doesn't
even *have* a graphical interface! I think you may be confusing with MS
Query, which only supports parameters in queries simple enough to be
displayed 'graphically'.
Does Access support Create Table or any other SQL DBMS admin commands
via SQL code?

You are referring to data definition language (SQL DDL). CREATE TABLE
DDL was supported as early as Jet 3.0 i.e. Access95:

http://msdn.microsoft.com/library/d...y/en-us/office97/html/output/F1/D2/S5A320.asp

Jet 4.0 (Access2000) extended the DDL syntax, not just for CREATE TABLE
(e.g. added DEFAULT) but CREATE PROCEDURE, DROP VIEW, CREATE GROUP,
DROP USER, CHECK constraints etc. Previously you needed ADO to use the
Jet 4.0 syntax but from Access2003 the UI can be put into so-called
'ANSI' mode (ironic or what?) and the sytax may be used natively e.g.
in the SQL view of a stored Query object.

BTW thanks a bunch for making me look like a MS Access apologist <g>. I
love Jet but can definitely live without MS Access.

Jamie.

--
 
Harald Staff wrote:
....
I find this thread quite amusing, parts very interesting, and nothing in it
bothers me, Harlan. I just tried to indicate that he's made a fool of
himself sufficiently and this might be a good place to stop for now.

Speaking from personal experience, one can never make too great a fool
of onesself. There's always more room for 'growth'.
 
ACCESS DATA PROJECTS

are a familiar tool for housing data in a SQL Server database.

So technically; i can do _ANY_ of that stuff in 'Access' as an ADP.




Harlan Grove said:
Ken what makes you say 'real database'

I'm really curious-- where do you guys get a bad taste in your mouth when
you talk about Access?

Access handles a gig of information just perfectly.. Same with SQL
Server.
...

A gig is nice. Can it handle data by the terabyte? Spread over multiple
storage media? On sequantial access devices, e.g., tape?

Can Access be tweaked to work with RAID storage devices? Can Access make use
of multiple processors? Can Access create indices in background? Can Access
modify table storage in background to make canned procedures more efficient?
Can Access provide referential integrity? Does Access adhere to the ANSI SQL
standard? (Hint for that last question: try to make COUNT(Distinct X) work
in Access.) Does Access support complex nested queries or is it limited only
to queries it can display in its graphical query design interface? Does
Access support Create Table or any other SQL DBMS admin commands via SQL
code?
Access isn't just a database-- I never specified that I was talking about
MDB; by the way.. I was actually talking about ADP; and that connects to a
real database-- and you can actually use grownup functions; in one place--
instead of having mountains and mountains of crazy links and calculations in
Excel.. you can have real business logic in a database.

You *can* have real business logic in Access. You can also have undiluted
crap in Access. You *can* also have real business logic in spreadsheets.
It's all a matter of design and implementation discipline. This isn't
anything new. It's always been possible to write good software in Assembler
and poor software in [name any programming language based on the latest &
greatest CS paradigm here].
And the tools that ship with Access 2002 and newer-- they let newbies write
SQL Server stored procs and views.
...

Stored procedures and views on real DBMSs are representable as SQL code, so
possible to store in text files. This is saying little more than that
current versions of Access provide tools to write the equivalent of
structured text files. No big deal.
Why don't more SQL developers use the most powerful tool in thier
toolbox?

Good question. Now, are you confusing, say, 99.44% of spreadsheet users with
SQL developers?
And if newbies can write sprocs and views-- why is Excel around AT ALL
ANYMORE?

Because there are some things that are absurdly difficult to implement in
DBMSs compared to spreadsheets, a fact with which you seem blissfully
unaware. Simple example: ever tried to use Access to construct an
amortization table? How about using Access in what-if modeling of any sort?
How about using Access to do anything that uses violently nontabular data
structures? Yes, I remember enough of basic database design and relational
normalization to know that any data structure can be reduced to a table if
such tables can have an arbitrary number of columns (fields), but such
tables can be highly inefficient at times.
 
again, Access as a frontend to SQL Server supports online index rebuilding;
etc

Access is an application and a database.

I never wanted to argue to sufficiency of MDB. MDB is DED.

ADP-- Access data projects are an awesome tool for entry-level developers to
implement views and procs (together they are labelled 'queries' in an ADP)
and this is an excellent choice for entry-level developers to use in order
to leverage their existing skillsets.

ADP allows for parameters; UDFs-- anything that works with SQL Server.

And ADPs allow for an entry level developer to develop forms and reports for
data entry and reporting..

This ease of use isn't found anywhere else in the world; yet Microsoft-- and
other XLS-centric people-- aren't moving in the best direction.

I still see RPG developers writign against AS400 and Microsoft says that
they are trying to combat this phenomnenon-- the problem is that Microsoft
hasn't ever dealt with the marketing problems that Access has-- and I think
that a lot of this prejudice comes from beancounters.. Because Access is in
the same package as Excel; and because beancounters are threatened by this
tool-- that they think is 'too hard to use' that is the root of the problem.

Access is more powerful that VB6; and Crystal Reports-- Access (MDB) is more
powerful than SQL Server for certain uses-- namely Crosstab queries; even
passthru queries.

It just frustrates me that Microsoft is claiming that they're in the
database market-- but they're not commited to fixing problems (usability,
stability and performance) that would help to bring Access developers into
the 21st century.

I just think that Microsoft needs to wake up--

And most beancounters need to get into Analysis Services and MDX.

MDX is a tool that allows you to basically emulate spreadsheets-- it is 100x
more powerful that Excel itself.

And I think that it is dangerous to be an Excel user; and not move towards
MDX.

The first step towards using OLAP Cubes instead of spreadsheets is to have
your data in a relational format.

use of Access allows you to keep your data and reuse busienss logic when you
start brushing the limits of the tool

When your hammer hits a nail that is too big-- What are you going to do?

Excel has a 64k limit and is impractical for storing data.

Excel is improperly used in about 70% of the situations where people use it.

Excel isn't for financial reporting.

Databases should be used for financial reporting.

-Aaron
 
I just want people to be aware that MDX is more powerful than XLS; and it
allows you to do almost everything that a spreadsheet can do-- without using
an obsolete data store.

The problem with Excel is that once you have your pretty lil report; you
can't consume this data in other places.

If Excel power users would, as a whole-- learn MDX (and start using a
database for analysis) they can consume thier reports in:

a) Reporting Services
b) Office Web Components
c) Excel
d) Access passthru queries
e) SQL Server linked servers (openrowset; etc)

-Aaron
 
Sorry.. you have to save the file that you're workign on before you can
start typing.

Then when you create a new file-- taking a whole 10 seconds-- MAYBE--- then
you can 'create table by entering data'

this is about as easy as it gets.

you can dive right into it and start naming columsn and fields-- just like
you can in Excel.. and all you have to do is create 1 file ONCE and then
you're going to be twice as efficient long term.

I think that is a time-saving proposition personally
 
so can we get Microsoft to make it so that when you launch Access; it will
automagically start a new database; and then it makes you save it when you
hit save?

make it more similiar to Excel and Word?

Just a lil bit of slight-of-hand would make this possible; i could probably
edit one of the MDW wizards and get this done in about 10 mintues

and then our precious beancounters could start typing right when they open
Access?

it would save them time-- it should at least be an option.

I create a new MDB or ADP probably 10 times per day anyways.. so it would
probably save me some time also

-Aaron
 
(e-mail address removed) wrote...
....
ADP-- Access data projects are an awesome tool for entry-level developers to
implement views and procs (together they are labelled 'queries' in an ADP)
and this is an excellent choice for entry-level developers to use in order
to leverage their existing skillsets.

You're repeatedly misunderstanding the Excel user base. Most Excel
users, even most of those who wind up creating spreadsheets other
people will use, are *NOT* developers. This is just the way it is in
spreadsheets. No different from most PowerPoint users not being trained
visual artists or even commercial artists or desingers with any formal
training.

Reports in the bad old days were put together using paper, pencil,
calculator and eraser, the final draft then handed to a departmental
secretary (who else remembers the days when there were departmental
secretaries - in the plural) to be typed and distributed. Spreadsheets
and word processors have replaced that process with one that makes it
easier both to make and correct mistakes, but it hasn't changed the
essential manual nature of most spreadsheet and reporting tasks.

Many (most? almost all?) reports *could* have been automated back in
the days when all business software was written in COBOL, PL/I, FORTRAN
or VS BASIC, but the *developers* claimed to be too busy to do so. If
you want to blame a group of people for the ubiquity of poorly designed
spreadsheets used in business, look no farther than you in-house
developer colleagues.

If developers want to assume (for the first time) the *bulk* of the
responsibility for generating most reports, then I doubt anyone would
oppose their use of whatever software they deemed most appropriate for
the task. However, experience says this ain't gonna happen in the next
several lifetimes. So nondevelopers are going to continue doing what
they have been doing with all the lack of discipline and automation
(and automatability) that they've demonstrated in the past.

Simply put, most spreadsheet creators and users aren't developers, and
it's pure folly to believe they'll act like developers or even want to
do so. They'll use the tools they're comfortable using, and that means
Excel (and other spreadsheets) have a long and healthy future.
This ease of use isn't found anywhere else in the world; yet Microsoft-- and
other XLS-centric people-- aren't moving in the best direction.

I'll repeat my simple challenge: compare the development time for
creating an amortization table in Excel vs Access. And a new challenge:
compare the development time and effort creating a set of pro forma
financial statements to compare financial results under varying
interest rates for a moderately leveraged business.

There are things spreadsheets really do handle far more easily,
efficiently and even reliably than *ANY* DBMS or database front-end
can.
I still see RPG developers writign against AS400 and Microsoft says that
they are trying to combat this phenomnenon-- the problem is that Microsoft
hasn't ever dealt with the marketing problems that Access has-- and I think
that a lot of this prejudice comes from beancounters.. Because Access is in
the same package as Excel; and because beancounters are threatened by this
tool-- that they think is 'too hard to use' that is the root of the
problem.

Calling them beancounters may be one of the reasons they don't warm to
the prospect of using Access.

Also wrong in detail. There are several versions of Microsoft Office.
All include Excel, few include Access. Why? Maybe because most IT
departments buying Office realize that most users lack the training
needed to use Access effectively, and the benefits of providing them
that training don't justify the costs of doing so? Maybe using Excel
rather than Access is often (not always!) the economically rational
choice?
And most beancounters need to get into Analysis Services and MDX.

No they don't. Claiming they do only demonstrates how little you
understand what it is they get paid to do. You don't like cleaning up
the messes they make. Fine. But you need to understand that those
messes are a *small* part of all they do, and the cost of clean-up is
cheaper than the disruption that would be caused by changing how they
do *most* of their jobs.
MDX is a tool that allows you to basically emulate spreadsheets-- it is 100x
more powerful that Excel itself.

Again, how would this make amortization tables or what-if analysis
using pro forma financial statements easier?
And I think that it is dangerous to be an Excel user; and not move towards
MDX.

It's dangerous to use anything with some programmability in an
undisciplined and often ignorant way. Using DBMSs the same way would
also be dangerous. It's not the tool, it's how it's used that's the
bigger problem.
The first step towards using OLAP Cubes instead of spreadsheets is to have
your data in a relational format.

Normalized relational tables are *NOT* the most efficient or effective
data structures for a great many objects. This demonstrates limited
breadth of experience in business applications on your part. Simple
example - exchange rates. A normalized table would require 3 fields:
from country, to country, conversion rate. Typical spreadsheet design
would have from country listed in the topmost row, to country listed in
the leftmost column, and conversion rates displayed in an N-by-N grid.
Now with a more intelligently designed spreadsheet than Excel, e.g.,
Lotus 123 with it's @XINDEX function, it'd be easy to dereference the
conversion rate as

@XINDEX($CURRCONVTBL,"USA","UK")

Do I believe most users would find this more intuitive than

SELECT CurrConvRate FROM CurrConvTbl WHERE FromCountry="USA" AND
ToCountry="UK"

? Yes, I would indeed consider most users would find the former easier.
Sadly, in Excel they'd have to use an abomination like

HLOOKUP("USA",CurrConvTbl,MATCH("UK",INDEX(CurrConvTbl,0,1),0),0)

unless they get clever with their row and column labels, in which case
they could use something like

FromUSA ToUK
use of Access allows you to keep your data and reuse busienss logic when you
start brushing the limits of the tool

Excel reuse is more difficult than it should be, but since Excel itself
is an ODBC data source, your claim is difficult to substantiate. If you
know the workbook path, worksheet name and range address, you have all
you need to access the data. Would that be less intuitive than
referring to fields in some view? Maybe. But well-designed spreadsheets
would have information that would likely be reused in named ranges that
would possibly be more intuitive than a SQL query.
Excel is improperly used in about 70% of the situations where people
use it.

Presumably based on the spreadsheets you've seen. If most of those have
been reports of one kind or another, then you've seen a very limited
subset of all spreadsheets.
Excel isn't for financial reporting.

Only a few million people would disagree with you. Is it an ideal tool
for financial reporting? Seldom, but it depends on the precise nature
of the report. For summarizing monthly transactions, Excel is a poor
choice. For calculating and displaying current risk-based capital (bank
or insurance companies), Excel make a lot more sense than Access.
Databases should be used for financial reporting.

For the more mundane, repetitive sorts, sure. For the more
computationally challenging ones, probably not. Just because Access may
be better than Excel at *some* things doesn't mean Access is better
than Excel at *all* things.
 
anybody that ever types anything into excel is an EXCEL DEVELOPER.

Don't be scared to learn how to actually use the tool.. it's amazing what
you can do; once you drop the fear of VBA Macros. People are SCARED to be
seen as a 'developer'

Excel and Access have blurred the lines between developers and
beancounters-- but most of the beancounters i know need to wake up and start
learning a 21st century toolset.

No developers on my side have ever been too busy. You management-type have
just been going the wrong angle-- trying to make everything web-based.

Screw the internet; screw excel--

You can't query a spreadsheet. It's just a dead end street..

Mdx, by definition-- can do anything that a spreadsheet can.

And about the exchange rate thing

A properly normalized table would have
Exhcnage Rate, Country,

But if you're bitching about being able to have a FromUsa and ToUk, you
could have the same fields in a table that you do in your spreadsheet.

The thing is that you dont understnad-- is that you wouldn't ever need to
display this single field-- you can join a few tables in order to get the
results that you really want.

Rather than exporting your data to excel from this database; and looking up
each value for an exchange rate-- and then displaying it in a 3rd field--
you can buidl a QUERY that would translate between those 2 and then you
would be much better off tomorrow.
 
Hi
I think Harlan will respond anyway but
And about the exchange rate thing
A properly normalized table would have
Exhcnage Rate, Country,

Very interesting approach but maybe you don't understand what exchange rates
are? Rates are defined BETWEEN two countries. So you need at least both
countries to determine the respective exchange rate basis (and I hope you
don't want to base all rates on one currency, e.g. US$ and calculate all
other rates between different countries based on this as this won't work in
real live!)

But if you're bitching about being able to have a FromUsa and ToUk, you
could have the same fields in a table that you do in your spreadsheet.

You may read Harlan's post a little bit more carefully. He's talking about a
column heading and a row heading and using the intersection of a row and
column to determine the respective exchange rate. So something like
A B C D
1 USD YEN EUR
2 USD 1 120 0.83
3 YEN .... 1 ....
4 EUR 1.30 .... 1


And this is something you can't directly translate to a database. You'd
probably create a table such as
From_Country
To_Country
Rate

in this case with 9 records. Of course also not really a big issue but in
this case I'd consider the spreadsheet more intuitive. A database may have
benefits if I have to store the exchange rates other several days, months,
etc though. (as stated always a question of choosing the right tool)

And again for some kind of applications a database is just the wrong type of
tool. You really may try to answer Harlan's test examples with a database
type of application. It would definetly be more difficult

Frank
 
Don't be scared to learn how to actually use the tool.. it's amazing what
you can do; once you drop the fear of VBA Macros. People are SCARED to be
seen as a 'developer'

rotflmao - Harlan, I have to agree, I really think you should learn to use these
tools well and not be afraid of touching macros <g>
 
Back
Top