|
I do lots of heavy lifting with Access and much more than 30k records. also for really large data sets, a SQL back end solves the issues. Then you use passthrough queries to allow the SQL server to do all of the heavy lifting of searching data and handling calculations. It's a great front end.
|
|
|
|
|
I use MS Access on a regular basis, and have been doing so since v2 for Windows. When its limitations are taken into account, it is a useful tool.
Pros:
* portable, a MDB/ACCDB file can be transferred to any PC that has Office Professional loaded. No other setup is required.
* excellent for one-off databases, easy to import data from various sources including Excel or other workbooks.
* easy to use reporting works well for ad-hoc queries and experimentation.
* easy to use for database prototyping, setting up indexes, foreign keys, etc.
* can attach other data sources including Oracle and SQL*Server db.
Cons:
* Doesn't do multi-user well, especially above 5 concurrent users.
* Can be slow with larger record sets (above 100k records). Large databases on a network are VERY slow.
* File can be corrupted (need to compact on close), especially in multi-user environments. [Requires daily backups]
Non-Technical Issues:
* Non-IT professionals build horrendous databases with it. The basics are easy to use but it requires a db savvy person to do more with it.
* IT professionals use Access in situation where "normal" DBMS should have been used, due to the limitations of the platform.
* has a bad reputation, mostly due (IMO) to the last 2 points.
Benefits:
* Works in small office situations that do not have and/or cannot afford a larger db.
* Good for single user and low concurrent user situations, with small datasets.
MS Access is a good tool, in its own arena. Take it out of that arena and you're pounding nails with your pliers ....
|
|
|
|
|
Gotta disagree with a couple of your cons. I build large-scale Access projects. Some have 100's of users. stick all those folks in one front end and yea - Access blows. But I don't know any serious people that do that. I use replicas of the front end. Some choose to deploy separate front ends for each user - what a nightmare. I choose to create replicas upon opening (Open from one location, a copy is created, user is pushed to their copy). All pretty seamless and no one is ever in the same copy at the same time and I don't have to push builds to anyone. Can't say I've never had a corrupted record with this method - but it's rare. Especially if the data is housed in a SQL back end.
With the right developer, Access is really great in a multi-user environment. I've yet to have a project exceed it's limits. The single limitation for me is that it is not web based. That is a major issue more and more. But I also find developers pushing web based tools when the web is not required. It just ends up costing a lot more.
|
|
|
|
|
I had to google 'Access replication'. Cool!
How does Compact work? Same as normal, when the last user logs out?
While I don't currently have a need for a multi-user Access app, I will keep this in my bag of tricks.
Thanks!
|
|
|
|
|
Because their front end is refreshed every single time they open it, when they close one version it's considered dead. So no compacting needed. Imagine a main front end that's 20 MB. The user opens it and a new 20 mb file is created. They use the file all day and it grows to 25mb. They close it. when they re-open the file, they are opening the original 20mb file that was never used, thus their latest version is 20mb.
Then on some regular basis, we keep the back end compacted. Maybe once a month.
|
|
|
|
|
By the way, when I say Replica - I just mean an exact copy of the front end. Not replicated data. Everyone shares one back end set of tables. So the data is not moved around to each person's DB physically.
|
|
|
|
|
Within a single physical file you have: 1. form design tools, 2. a high level, human-like programming language that helps to minimize logical errors, 3. no need to mess around with silly compilers, 4. A complete set of SQL (database) commands for fast storage and retrieval of relational tables.
What more do you want…?
Join the club of anti-curly bracket idiotic coding techniques…
|
|
|
|
|
I've used Access for years to query Access (.MDB), Excel, FoxPro (.DBC; .DBF), SQL Server, Oracle, MySQL and Postgresql databases.
Using the available database drivers, one can query, join, translate, save and / or export data (i.e. ETL) from multiple heterogeneous sources at the same time. For years, the Access "engine" ("Jet") has been used as a database API in VB and VBA for accessing SQL Server databases.
I don't develop apps with it; but do use it to help develop apps; particularly when it comes to data / frequency analysis.
There are technical reasons / restrictions why Access should not be used as a server in a "big database" production environment, but it's not due to any limitations in its abilities; e.g. "ad-hoc" Access reporting is a lot easier than SQL Server Reporting Services, IMO.
|
|
|
|
|
It's beyond totally gross for implementation of anything; especially if you have an object-oriented C# background; such as myself. My version was Visual Basic (shudders). However, I have used MS Access, implemented solutions and it does have some benefits. If you want to use it for a real-time production system; Access isn't a solution for that.
It's best to think of access as a database system for a small number of users; Excel with a better programming/forms interface. I've used it in a corporate setting for some simple multi-team workflow processes to be managed, as part of a development effort. Why not write a Windows form application, etc.? It boiled down to corporate standards; the cost/time to provision a server with all of it's security policy overhead was simply unjustified.
Access, at least in that space, was ubiquitous which means anybody could install/run it, and it was there to fit a need, when filling out email forms was error prone and led to a lot of misunderstandings.
|
|
|
|
|
We will pry MS Access from my boss's cold dead hands. Our major backend processing uses it and we have to adapt our SQL Server processes and tables to it's limitations. Attempts to get him to recode to SQL Server have fallen on deaf ears.
I've always wondered why Microsoft has not put an Access frontend to SQL Server. Drag and Drop query creation is far less intimidating than SQL and you still have the option to edit the Drag and Drop SQL generated.
The Report generator would be nice for SQL Server as well.
Psychosis at 10
Film at 11
Those who do not remember the past, are doomed to repeat it.
Those who do not remember the past, cannot build upon it.
|
|
|
|
|
I have been using ACCESS for 20+ years. I have a client whose entire business runs on Access based software and she has had no problems for 18 years except when MS decided to not have backwards compatibility with certain functions or features as it released new versions. I have used it to keep my consulting business client work status and billing records for most of the 20 years. A colleague and I have been using it in as part of a commercial science researcher utilized product (VB for code and Access for the database) for 10 years without any Access problems; VB has given us may more problems as MS changed, dropped, etc. functions, function calls, etc.
I noted at least one commenter stated that is is a terrible product and that a great many terrible applications have been written by bad programmers using it. Well, I have done software quality assurance for JPL/NASA and I can tell you that I've seen terrible programs written in over 20 programming languages and some utilizing a number of databases for back ends. I've seen terrible Oracle and DB2 code. A terrible software architect will design terrible software; and it goes all the way down to the terrible coder creating terrible code. This is not the criteria to use when deciding if some language or database system is the correct one to use for some purpose.
ACCESS is great for simple database applications. It can be used for some rather complex ones also. It depends on the design of the database, the design of the code, the amount of time you are willing to spend learning relational database design and learning to code in Access's programming language. ACCESS is worth taking a look at and getting a decent book is the first step. I've not bought a new ACCESS book since Office 2007, so can't recommend one to you.
Charles Wolfe
C. Wolfe Software Engineering
|
|
|
|
|
I work as a file clerk for a government agency, and I worked with a guy who developed an Access application that parsed reports from our department mainframe into various smaller/localized reports, research tools, and worksheets for use by other clerks in our office. Some of these reports even make it all the way to department managers and HQ.
It's a really handy little thing but he's not a strong programmer and the guy who actually designed it isn't around anymore. I made the mistake of mentioning I had programming skills... and here I am getting caught up in it.
So when you're not able to install real technology, Access can fill the void. But it's painful. If you can convince your IT to let you use real programming tools and database libraries you'd be much better off.
|
|
|
|
|
Was my first database, it's been 3+ years since I last used it.
|
|
|
|
|
Movie Quote Of The Day
I'm a soldier, but in serving my country, I have betrayed my conscience.
which movie?
|
|
|
|
|
Is this a self reference?
|
|
|
|
|
Forest Bump
Rules for the FOSW ![ ^]
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
}
|
|
|
|
|
The Ride
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
|
|
|
|
|
Ahnold in Predator. Get to da choppa!
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
GI Stauffenberg
In Word you can only store 2 bytes. That is why I use Writer.
|
|
|
|
|
Antz.
Some men are born mediocre, some men achieve mediocrity, and some men have mediocrity thrust upon them.
|
|
|
|
|
Damn. I was gonna say that!
|
|
|
|
|
Starship Troopers
Mongo: Mongo only pawn... in game of life.
|
|
|
|
|
Tootsie
Software Zen: delete this;
|
|
|
|
|
|
Thank goodness!
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|