Die Access, Die

  • Ms Access

    I had to lead with this one because I have a similar view as this post. Access is handy, quick, does a few things nicely, but creates headaches and many more poorly written applications than I think are necessary. And why would you buy it when Express is free?

    I understand it can build applications, but honestly these days someone should be able to use a framework or whip up a web app that does what you need almost as quickly. And would be easier to move on to another engine if need be, refactored, whatever. Get rid of Access.

    Assurance

    Information Security

    There is a very interesting blog from Bruce Schneier this week on Assurance and security. It starts out with the voting machine testing, but don't let that dissuade you. Dig further and he talks about many fundamental problems that we have in digital security and how we attack them.

    He makes good points about security, but honestly I don't think it's so much the cost that drives things as the marketing folks. They're so afraid of a black mark or any admission of issues, they want us to presume security so they can sell products.

    Schneier has written before security is a cost and insurance will make up for the technical issues. I tend to agree.

    Miscellaneous Notes

    Since there were a bunch of interesting things I saw this week, I thought I'd highlight a few more.

    There's a new build of XP, and it's no SP3. There's an SP2c because we're running out of activation keys. Wow! That's a testament to success for the OS (though we could do without the keys). It gives me a reason to keep on chugging with XP for the foreseeable future instead of upgrading to Vista. I am considering a new laptop as this one is now 3 years old and feeling a little aged.

    Should you maintain three data centers for disaster recovery?. Of course it makes you more secure, but at what cost? I don't think this makes sense for the vast majority of businesses. We lose data all the time from human error, etc. Weigh the costs, but don't set up a third without being sure of the risk and payback. I think you'd be better off spreading out your data to 3 places, all maybe 1/2 size, and spreading the load.

    Lastly, a great quote about blogging at Microsoft and what an exec said: "we hire smart people, let's trust them to be smart about what they do." I've heard that this is the policy on blogging at Microsoft: be smart.

    Steve's Pick of the Week :

    If I were in sales and Steve Jones were my customer... - OK, not really fair since my name is in the title, but I got a good chuckle. Read it and see if I'm YOUR favorite customer.

  • They tried to kill FoxPro... look what happened there...   And, why does everyone think that Web Apps are a panacea?

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • It's not necessarily that web apps work everywhere, but they're easy and cheap to build and they can work in lots of data entry situations.

  • Making fun of Access is popular nowadays, but the fact remains that it includes the Jet relational database engine (a version of which is used in Exchange, by the way) featuring referential integrity, cascading updates and deletes; plus a complete UI for developing queries, forms and reports; an event-driven object model; easy automation of other Office apps like Word, Excel, and PowerPoint using VBA; and (unless you convert to the version 2007 accdb format) it also has object-level security for read, update, insert, delete, modify; and also replication - sound familiar? And you can suppress the "holding the Shift key" to prevent access to the database window, either by using VBA or by compiling into an mde file. Granted, Access 97 was prone to corruption problems but in my experience it was old network wiring and hubs that was the prime reason; 2000 and up don't have the same issues.

    The linked article states "SQL files also don't get corrupted like Access files do" so then, why do we bother doing backups of SQL files anyway? And why so many posts in the forums here about how to restore SQL backups? Hmmm.

    As far as the cost, many companies purchase Office Professional which includes Access, so there is no additional cost. If they have a lesser version of Office, you can create a runtime version using the Developer Tools to create a license-free install that costs the customer nothing.

    Access is also compatible with SQL Server - it can connect using linked tables via ODBC, or you can write pass-thru queries to execute stored procedures, or simply write some T-SQL to return or modify data. Give the user some linked tables or views with SELECT-only permissions, and they can roll their own queries without any hazards to the data.

    One final word on compatibility - an Access 2000 file can be used with Access 2000, 2002, 2003 and even 2007.

    You certainly won't use Access for 1,000's of users, or millions of rows, but for 1-50 users it works quite well.

  • Actually it is a sub set of web developers who wants Access to continue because they think SQL Server is not needed, these people accuse some of us as the reason the Asp.net team dropped support for Access during the development of Asp.net 2.0.  I think the Asp.net team dropped support for Access because MySQL hired Peter Gulutzan, now there is free MySQL as good as SQL Server 7.0 supporting Access on the web is not good for Microsoft.  However Access is not going away because you get it when you buy Word and Excel which most businesses buy.  I don't understand it because I cannot relate to it but I can get to work with any RDBMS(relational database management systems).

    DRI(declarative referential integrity) in Access is a DRI trigger wizard because a user said you can do it for 21 tables, in ANSI SQL by the third table you are pushing it by the fourth table it becomes invalid because DRI is if a references b b must exist, primary key a becomes foreign key b you use a to update b, a to delete b, a to set b to default and null.  These are some of the reasons moving Access database to SQL Server is not simple, add in the funny data types and it is a very complicated task.

    Kind regards,
    Gift Peddie

  • I think you all have it right.  Acess must be removed.  But my reasoning is slightly different.  The biggest problem I have come across over the past 10 or more years is more around the "who".  Business users with no IT knowledge seem to use Access to gain browny points (Look what I built in a day when IT said it would take 2 weeks).  These people then get carte blanche to build all sorts of systems and their managers keep encoraging it.  They eventually move on and the system(s) inevitably crashs or produces incorrect results.  As its a program they go running to IT for help.  The application/system is not registered, so no one knows what it is or how it works.  Now the IT team are running around working to fix an unknown system that was never in resource plans generating longer working hours to get it fixed and lot's of stress as the fix or enhancement is urgent (along with all of the daily work that keeps the team busy).

    I've actually experienced a senior IT manager lose their job because a business person built an app for sales that was then sold to customers, didn't perform and IT were blamed.

  • Good to see I'm not the only one weary about the "who". If businesses were smart, they'd stick with Office Standard, where Access is not included. But then they may lose other features that Office Professional and higher have to offer.

    I used to work for a company that had a lot of these databases, and after awhile, we in IT were able to figure out who could be responsible for each database and delegated most of them to their responsible administrator. If they wanted to update their database, we made them learn on their own how to maintain it. It had gotten to the point where it was taking too much of our time to maintain the random databases whereas they needed me to focus more on our production SQL databases and VB apps. It was nice to be able to delegate the Access databases back to their department. That way, IT couldn't be blamed when their app (didn't produce the data they were looking for, didn't work, didn't insert ridiculously high expectation here). IT still had a couple Access databases to maintain, since they were done by IT consultants ages ago, but it was better to only have to worry about 2 as opposed to at least 1 for each department.

    Now, I'm no longer worrying about Access databases. New job, new arena...

  • Isn't wanting Access to die a bit like blaming the gun for the crime?

    As this is a SQL based forum, I know I will find no friends. Access as a storage engine is a bad thing, no argument there. However, Access contains far more useful features than simply data storage. The ability to retrieve data when matched with SQL server is nothing to dismiss lightly. The biggest problem I have encountered is pathetic end user knowledge of database principles and lack of general Access knowledge.

    The other big problem is the core IT in general. I know the need for documentation and structure. But for an IT Department to turn a 1-2 month project into a year long ordeal must also be addressed. If it takes more bodies, then it takes more bodies. However, most businesses don't have the time to wait.

    I would also suggest that far more daily work gets accomplished, on the whole, by end users using Access than in a large IT shop where it takes a year to do anything.

    TJ

  • Guns and Knives are not the problem.  It is the people who use them incorrectly.  You don't change all of the screws in a plant or product to slotted or to phillips just because they are the new 'thing' or to have consistency.

     

    Point:  Use what is required for the task at hand and don't just shift the problem/load from the client to servers, especially when you don't have enough horsepower in the data center yet.

     

    I have used so many different platforms, languages and IDEs in my career that I have come to a point of 'don't care state', when it comes to this discussion.  Location and language don't make a good product/application.  The ability to break down the processes into human comprehensible chunks and satisfy the requirements with the application or system is the most important engineering point for discussion.

     

    New languages come out to put money into someone's pocket, normally Microsoft.  .Net is the same stuff as Visual Studio and in some cases less, (especially in 1.x and most of 2.).  It still calls the same windows stuff under the cover, the code just looks different, (better or worse is another item for discussion).

     

    I have seen less buggy, better deployed and higher requirement satisfaction from 'lesser' products than todays .Net web ones.  Most are VB6, C++ client distributed applications but a few are Access97 ADEs.

     

    [font="Arial"]Clifton G. Collins III[/font]

  • If you know what you are doing and use it in the right way, Access is a very powerful tool.  I have seen terrible misuses of Excel, but I am not wishing for it to die.

  • We;ve managed to kill the use of Access as a development tool by simply refusing to support applications developed by users or their proxies (hiring programmers outside the normal channels). Having said that, we wholeheartedly support the use of Access as a query tool for ad hoc data extraction from SQL databases. Our users get the data they want, and our support effort is minimized. Eliminating Access would make it impossible to keep up with data needs.

  • Hi,

    Sorry, but blaming Access for poorly developed apps is utter nonsense, it's the same criticism leveled at VB by programming snobs the world over. I've seen **** written in a plethora of languages and that is purely down to poor developers/designers. In fact if you read enough posts on this forum you'll quickly come to the realization that SQLServer is no stranger to badly thought-out and implemented DB's which would have been done just as badly in Oracle, Foxpro, DB2 or any other platform you care to mention.

    I've been using Access since 97 and i still use it today. It makes a brilliant front end reporting service to SQLServer and I happily report on millions of rows of data using Microsoft Office Pivot table 11.0 with my OLAP db as a backend. Indeed Access reports are fantastically simple to use when you don't need the flexibility of a pivot/cube combo.

    I do agree that supporting apps developed by users are a no-no, we simply don't allow them that option but that is a baby and bath water scenario.

    In balance I also think that using the native Access tables can be very limiting but that said we have 15 Access db's that carry out various admin and reporting functions without a hint of complaint, the reason is they have been designed by someone who knew what they were doing. I also think you would not choose to design an ERP solution with Access as a front-end (I wouldn't necessarily choose .net either) but that is purely down to the speed of the interface and nothing to do with its ability to handle the data robustly.

    Finally -you'll be please to here - if Access were to be dropped then I will be the first one to come out with a competitively priced clone, the demand for a tool like this is still huge and I would be more than happy to type this from my newly acquired tropical island

     

    K.

  • Karma,

    I don't think anyone would really argue too hard against you with the capabilities of Access to make front ends for reports, especially one off quick and dirty reports.  But, as a database, it needs to go away (in companies).

  • Hi

    If you mean as an OLTP database then yes i would agree that it's not the best choice - not even in the list choices, and i would question anyone’s judgment if that was their decision. I would also suggest that used correctly for the right jobs particularly as a front-end to a "full" RDBMS then it can be highly effective in less time-stressed environments. It provides exceptional ease of use and speed of development and is cost effective all with the proviso that you know what you are doing. If like me and many others you have been burned by badly planned Access db's then that is a company issue not an Access issue. If you don't like it then that is your privilege we however manage to support a company with £100 million+ turnover and Access is definitely a valuable tool in our armory.

    As an aside I always felt that MS missed a trick in the early days of Access. It should have been the front-end of choice for SQLServer with a full and tight integration which would have yielded real results with its RAD techniques and easy to use IDE. A separate product should have been developed for the home user. It never really got the support from MS it deserved

    K.

     

  • MS Access is a very powerful and useful application. I have never seen it bashed by anyone who has used it extensivly -- except for the DBAs which are not required to keep an Access application running. Can it be misused by people who know nothing about IT systems -- yes, but that can be said about any development environment!

Viewing 15 posts - 1 through 15 (of 26 total)

You must be logged in to reply to this topic. Login to reply