Hi Nicole,
Thank you for your complete and open response. I've always enjoyed
working with people like you seem to be.
"Be of good cheer"! You can most definitely use Access to achieve
business results that will be meaningful to you and your users. But
you have to get far away from "Excel spreadsheet think" in order to
get there. Your grasp of the processes at work with the feeds,
deliveries, locations and animals is excellent.
You are also quite correct in that there isn't enough room to show
everything about everything in all of the processes all at once.
There is no need to do that. It's just that when you get used to
using Excel or other spreadsheets it's common to jest keep adding
columns and rows. You don't see everything about everything at the
same time there either - but you can scan side to side or up and down
to see the bits you want. Unfortunately, that means that the
accuracy, effectiveness and efficiency of the (Excel) application
depends entirely on the individual users.
You'll do much better with a properly designed and implemented Access
application. So will your users after they settle in to the new
paradigm.
Change your thinking from "replicating this form", which sounds like a
trivial task to "Creating an application", which is *not* a trivial
task. Your application will have many tables, relationships, forms,
queries and probably, reports.
Learning Access and relational database theory combined is not a
trivial exercise. Because the two usually go hand in hand, the
learning curve for Access is long and steep. From your questions,
it's evident that you need to learn both. Actually, you can focus on
Access and accept that from time to time you'll be told to do things
in certain ways that don't really make sense unless you understand the
relational reasons why...
My response to similar/related issues in ...tablesdesign a week ago.
The thread is quiet now but you might find it edifying:
========================================
I'm a "top poster", see the original post below my response.
---
Mission Impossible!
Excel and Access are distinctly different products. Some parts look
alike superficially and they both use VBA. They can be made to play
together in client/server relationships. But they are not wacky
versions of each other. You, me and a whole bunch of other people
could not convert Excel to Access.
Excel is a premier spreadsheet that is one of the best tools going for
applications that are calculate intensive. It can also be used for
data management functions. Because the learning curve slope is
shallow and incremental it is often used in data management
applications beyond the point it should be. The majority of Excel
"applications" are ad hoc creations that keep getting new additions
and frequent redesigns to adapt to growing needs. The user
contributes the missing parts of the application by real time
interaction. Excel can be used to produce some pretty sophisticated
applications. I've done some myself at client insistence.
Out of the box, Access is a Relational Database Management System with
bunches of developer tools and user interface goodies. It is a
premier low cost, low end to mid-range data management tool. The
slope of its learning curve is steep and long and therefore people
defer its use long beyond the point where it should have been brought
into play. Somewhat more rigor is required in Access to get anything
going. A lot more understanding and rigor is required to produce
applications that you would willingly inflict on your users.
Yes, I know; you meant to convert the application from Excel to
Access. That isn't what you said and that isn't what you've been
tasked to do. You need to take your new understanding back to those
who gave you the task and get them to buy into the more accurate
statement. Make sure that they understand that you are NOT going to
try to mimic the behavior of Excel.
You need a complete understanding of the problem your application is
intended to solve. You should start out by interviewing the players
and getting their input, maybe even call design meetings. You'll
continually hear: The Excel workbooks are the complete solution". To
that your response should be something like: "The truth of that
statement will be borne out by giving a new temporary employee of
average intelligence two hours of training: one hour of orientation
to our organization and work practices and one hour of training using
the Excel application to do work. Then turn them loose as a fully
functional user of the application." If the last quoted statements
are true than I suggest that you don't need to convert to an Access
application. I very much doubt that they are true. Most likely it is
incumbent on the user to know what rows and columns need what
particular values and the whole sequence of interactions with the
application.
So you develop and document a complete understanding of the problems
that exist(ed) and what must be done to solve them. Those documents
become the Problem Statement and the Product Specification.
Then you analyze the interplay of users with the application and
abstract the entities involved. Each entity type becomes a table that
will hold a record for each entity of that type within the scope of
your application. Getting the entities right is the foundation of an
application that can be readily completed and that can be extended as
new needs are revealed. If you get them wrong then your life will be
full of going back to do it over and then rippling table changes up
through everything that has been built atop them: Forms, Reports,
Queries. What is right and what is wrong? To find out you have to
learn about "normalization". Your data should be in at least 3rd
Normal Form. In your actual implementation, don't pass this point
until you have mastered 3rd Normal Form.
After your entities have been isolated and maybe even designed you can
turn to the creation of the Functional Specification. The Functional
Spec will describe the functions that resolve particular issues to
produce specific outcomes.
Notice that probably none of the above steps were taken in arriving at
the current Excel application. Seems kind of unfair, doesn't it.
However, these are the building blocks on which the rest of your
application will reside. Because you've done it right to this point
the rest will be a lot easier than it might otherwise have been.
The Forms and Reports and their Queries are yet to come. They are the
first things people see in Access and they think that's what Access is
all about. They are great tools and you can do lots of magic using
them but first comes the foundation.
You and your management would probably like to know how long it will
take you to get the project done. There is no way to know that.
Coming from where you seem to be I'd say several months at the very
least. If time is more important than money then engage a consultant
and pore over her/his work to follow along. The next best thing would
be to get management to send you to a school. There are also a few
good (not cheap) Access development courses on DVD/CD.
HTH
--
-Larry-
--
rayh said:
Hey all,
I am just a beginner, but need some help. I have been tasked to convert
excell into access.
the setup is this, there are three workbooks that contain several
worksheets each. the first is called price sheet, it has worksheets called
vendor name, these worksheets contain vendor name, part #, part desc, part
cost, unit of measure etc., the second is called model-bom, again it has
several worksheets called dept.*, each dept has part number, part desc, part
cost, vendor, u/m, qty used etc., the third workbook is called prod., it has
several worksheets call plant, these contain model number prod date, color
etc.
does or can anyone suggest how i design an access db to mimic the excel crud?
thanks
==================================================
Nicole, you have to identify and isolate the entities in play in your
application into tables You'll probably need at least
erson, barn,
group, room. There will be many more. The easiest clue in your Excel
spreadsheet that you need a table is that you have multiple columns
holding the same kind of data. In those cases, a new table is created
as the many element in a one-to-many relationship with the table that
holds the existing row. The new table gets a name derived from the
attribute, say "barn" and then gets a row for each of its columns in
the spreadsheet. You will discover many other entities that are
implicit in the spreadsheet that you'd be well advised to make
explicit in a table. Where an attribute has a limited range of
values, create a table on that attribute and allow your users to
select from a list rather than re-type the same data repetitively.
Think of the typos you won't have. For your guidance on feeling OK
creating so many tables: "Tables are cheap, fields are expensive".
It is really the Relational Rules that determine, for the most part,
which data requires new tables and new relationships.
When it comes to your user interface, you'll typically have one form
devoted to each user task or task area. Again, you are well advised
to have many forms, each dedicated to a particular task rather than a
few crowded and confusing forms that are difficult to understand and
use. Each form may have one or more subforms. The first one set you
create will be intimidating. After that they're a breeze. The
form/subform paradigm provides a very useful means of dealing with a
"parent" and its related "children". For example a form based on
tblBarn and a subform based on tblRoom.
Once your schema is complete you are ready to move on to later stages.
Don't do it the other way. Neophytes try to design their reports and
forms first. After all that's what they see! It sometimes takes a wh
ile before they understand what's wrong with their approach and why
they are working so hard with so little to show for it. They keep
doing the same work over and over again.
If you and your management haven't formally analyzed what you're
doing, you really should. What is the size, in dollars, of the
"continuing to use Excel" problem? What, in dollars, is the worth of
a better solution that solves (list them) the "continuing to use
Excel" issues? Those amounts should be determined without the benefit
of having an estimate for the work available. That knowledge will
likely skew the numbers based on preferred outcome.
That second number has to be large enough to cover all of the
research, design and development efforts. It also has to cover the
cost of transitioning the existing relevant data to the new format and
training all impacted parties on the new software.
An estimate of doing all the work through to completion should be made
without benefit of knowing the earlier referenced numbers. If you are
not experienced with Access than you should engage a competent
consultant to provide the estimate. Among other things, the
consultant will require a populated copy of your existing spreadsheet.
That spreadsheet isn't the definition of the project. It is just one
supporting document.
Pardon the babbling. I've got to go do a bunch of other things.
Post back or again as issues arise.
Regards,