KrispyData said:
What is the best way to understand the tables,queries, relationships,etc. I
am new to Access and taking over an entire database.
This can be an absolute disaster - cost me a job once. I was given what
looked like a "nearly finished" database which apparently represented a
great deal of work. In fact it had been thrown together using wizards
(look out for the wizards) based on a wholly wrong table structure. I
was new to Access too, and intimidated by the burden of expectations.
Here are some of the things I should have done:
Get up to speed on Access, first. You can get really good online video
training at lynda.com for Access 2003 or 2007, and there are numerous
books. Concentrate on tables first/most - understand what
"normalisation" is (but don't get too bogged down when people start
listing "normal forms"). Have a look at this video (a sampler from
lynda.com):
http://www.lynda.com/home/Player.aspx?lpk4=31001
Have a look at the Northwind sample database (if installed, it's under
Help). I'm still learning things from that!
Back up your database first (there's a handy command on the file menu).
Work on copies. Check to see if the database has "linked tables" - a
common (and desirable) way of building a database is to put the tables
in one file and all the queries, forms and reports in another, and link
the two. Look up "Linked Table Manager" in Help. Have a look at the
"Relationships" window - don't be afraid to move things around for
clarity (you're working on a fresh copy each time, right?).
Double-click on the connecting lines to see the relationship's properties.
Look through the queries and spot whether any of them are anything other
than SELECT queries (you can have UPDATE, INSERT, MAKE-TABLE queries for
example).
Look next at the forms. Bring up the Properties sheet and look for the
Record Source (usually a query, but can be a table, or it may be
"unbound"). Look at the buttons and other controls - look out for
"Event Procedures" which can run macros or Code Modules (better) which
might be doing all sorts of unexpected things. Every form can have a
"module" behind it - don't miss these. Usually written in VBA, but can
be .NET languages (although I've never used these in Access). Are there
subforms?
Look at the reports. Look at the Record Source to see what data they
are presenting. Are there Grouping levels? Subreports? How are the
reports invoked?
Are there any of the more Access-specific facilities in use? Security
workgroups? A Switchboard? Replication?
Then try to understand what real-world activities are being supported by
the database as a whole. Ordering something? Booking a room? Try to
follow these processes through.
Then, crucially, don't be afraid to change things, and don't be afraid
to think the unthinkable - that what you've inherited has design flaws.
Design your own set of tables, and set up relationships between them.
Compare with what has been inherited. Can you build your own versions
of key forms on top of your own tables and queries? Your own reports?
The various wizards give you a great start - it was years before I
created a report in Design View without running a Wizard and fiddling
with the results, and I still often run the Wizard first to get me
started. Use these wizards to see what you can do yourself from
scratch, and then go back and see what your predecessor did.
Finally, manage expectations. Can you get some classroom training, or
at least time "off" to study? Make it known that Access is a
sophisticated and complex product that can't be mastered overnight, and
that taking over someone else's work can be a much harder route than
building progressively bigger things from scratch. If you can't get
some understanding of this, consider walking away.
However, this could be a great opportunity. Access is wonderfully
powerful once you've "got it", and it's addictive. You can build really
useful things relatively quickly once you've got it under your belt, and
you may find you're taking over from a real pro. Don't assume that, though!
Ask here for specifics when you need them. This newsgroup has the best
collection of real experts (patient, helpful ones) you'll find anywhere.
Clear questions get clear answers...
Good luck,
Phil, London