This is what I imported from excel into access:
user name, module, edit, query, add, delete, review...etc.
pmayes bkin Y Y Y N Y.........
jsmith staff N N Y N Y........
jdoe staff Y Y Y N Y..........
I have 1720 records of users, for each user name there is one module, and
there are 65 Y or N places, I need to group all the users that have the same
"Y" or "N" together. The Y and N could all be in different places, but there
are alot that match.
I'd suggest using three tables:
Users
UserName <Text, Primary Key>
Module <Text>
Steps
Step <Text, Primary Key>
StepsDone
UserName <Text, Primary Key>
Step <Text, Primary Key>
Completed <Yes/no>
Manually fill the Steps table with your fieldnames - Edit, Query, Add, Delete,
Review, etc. etc.
Use the Relationships window to define a relationship from Users to StepsDone,
and also from Steps to StepsDone.
Run an Append query:
INSERT INTO Users (UserName, Module)
SELECT [User Name], [Module]
FROM yourtable;
Then go into the SQL window to create a new UNION query:
SELECT [User Name], [Module], "Edit" AS Step, [Edit] = "Y" AS Completed
FROM yourtable
UNION ALL
SELECT [User Name], [Module], "Query" AS Step, [Query] = "Y" AS Completed
FROM yourtable
UNION ALL
SELECT [User Name], [Module], "Add" AS Step, [Add] = "Y" AS Completed
FROM yourtable
<etc. etc. through all 65 fields>
The expressions [Edit] = "Y" will return True (-1) for the Y values, and False
(0) for the N (or actually for anything other than Y).
Base a new Append query on your UNION query and append the data into the new
StepsDone table.
With this properly normalized structure, you'll be able to create a Query
joining StepsDone to itself by Step and Completed to easily identify which
users have completed (or not completed) each step.
It will be nightmarishly difficult to do this with your current wide-flat
design. You *do* need to normalize as I've suggested!
John W. Vinson [MVP]